Showing
3 changed files
with
46 additions
and
6 deletions
... | @@ -19,7 +19,7 @@ const { getVideoID } = require('ytdl-core'); | ... | @@ -19,7 +19,7 @@ const { getVideoID } = require('ytdl-core'); |
19 | //로그인 콘솔 출력 | 19 | //로그인 콘솔 출력 |
20 | client.on("ready", () => { | 20 | client.on("ready", () => { |
21 | console.log(`Logged in as ${client.user.tag}!`) | 21 | console.log(`Logged in as ${client.user.tag}!`) |
22 | - client.user.setPresence({ game: { name: "챗봇 상태메시지 적는곳"}, status: "online"}) | 22 | + client.user.setPresence({ game: { name: "상메뭐로하지"}, status: "online"}) |
23 | }); | 23 | }); |
24 | 24 | ||
25 | 25 | ||
... | @@ -89,6 +89,15 @@ client.on("message", msg => { | ... | @@ -89,6 +89,15 @@ client.on("message", msg => { |
89 | //공부시간 출력 | 89 | //공부시간 출력 |
90 | msg.reply(studyHours + "시간 " + studyMinutes + "분 공부하였습니다."); | 90 | msg.reply(studyHours + "시간 " + studyMinutes + "분 공부하였습니다."); |
91 | console.log(studyHours + "h " + studyMinutes + "m"); | 91 | console.log(studyHours + "h " + studyMinutes + "m"); |
92 | + | ||
93 | + //studyTime 기록 | ||
94 | + var fileName = "data/studyTime/" + msg.author.id + ".txt"; | ||
95 | + var appendData = String(studyHours) + "." + String(studyMinutes) + " "; | ||
96 | + fs.appendFile(fileName, appendData, function(err) { | ||
97 | + if (err) throw err; | ||
98 | + console.log('The "data to append" was appended to file!'); | ||
99 | + }); | ||
100 | + | ||
92 | }); | 101 | }); |
93 | //공부시간 출력하였으면 공부시작 적은 파일 삭제. | 102 | //공부시간 출력하였으면 공부시작 적은 파일 삭제. |
94 | try { | 103 | try { |
... | @@ -99,6 +108,9 @@ client.on("message", msg => { | ... | @@ -99,6 +108,9 @@ client.on("message", msg => { |
99 | } | 108 | } |
100 | } | 109 | } |
101 | 110 | ||
111 | + | ||
112 | + | ||
113 | + | ||
102 | } catch (error) { | 114 | } catch (error) { |
103 | //(공부시작을 하지 않은 경우) | 115 | //(공부시작을 하지 않은 경우) |
104 | if (error.code === "ENOENT") { | 116 | if (error.code === "ENOENT") { |
... | @@ -112,6 +124,29 @@ client.on("message", msg => { | ... | @@ -112,6 +124,29 @@ client.on("message", msg => { |
112 | 124 | ||
113 | 125 | ||
114 | 126 | ||
127 | + //수정 필요 | ||
128 | + //공부시간 순위 | ||
129 | + if (command === '순위') { | ||
130 | + fs.readdir('./data/studyTime', (err, file_list) => { //폴더열기 | ||
131 | + var fileArr = file_list.toString().split(','); //studyTime 배열 | ||
132 | + fileArr.forEach((el,i) => { | ||
133 | + fs.readFile("./data/studyTime/"+el, 'utf8', function(err, data) { | ||
134 | + data = data.slice(0,-1); | ||
135 | + var timeDiv = data.toString().split(' '); | ||
136 | + var sumHours = 0; | ||
137 | + var sumMinutes = 0; | ||
138 | + timeDiv.forEach((j,k) => { // j형식 = ~.@ ( ~는 시, @는 분) | ||
139 | + var timeData = j.toString().split('.'); | ||
140 | + sumHours += Number(timeData[0]); | ||
141 | + sumMinutes += Number(timeData[1]); | ||
142 | + }); | ||
143 | + msg.reply("\n<@" + el.replace('.txt','') + "> 님은 총" + sumHours + "시간 " + sumMinutes + "분 공부하였습니다.") | ||
144 | + }); | ||
145 | + }); | ||
146 | + }); | ||
147 | + } | ||
148 | + | ||
149 | + | ||
115 | 150 | ||
116 | 151 | ||
117 | 152 | ||
... | @@ -197,6 +232,8 @@ client.on("message", msg => { | ... | @@ -197,6 +232,8 @@ client.on("message", msg => { |
197 | 232 | ||
198 | 233 | ||
199 | // 음악재생 | 234 | // 음악재생 |
235 | + | ||
236 | + | ||
200 | if (command === "음악") { | 237 | if (command === "음악") { |
201 | if (msg.member.voice.channel) { | 238 | if (msg.member.voice.channel) { |
202 | msg.member.voice.channel.join() | 239 | msg.member.voice.channel.join() |
... | @@ -237,13 +274,14 @@ client.on("message", msg => { | ... | @@ -237,13 +274,14 @@ client.on("message", msg => { |
237 | const play = connection.play(ytdl("https://www.youtube.com/watch?v="+results[0].id)); | 274 | const play = connection.play(ytdl("https://www.youtube.com/watch?v="+results[0].id)); |
238 | play.on('start', () => { | 275 | play.on('start', () => { |
239 | //내용 추가 필요 | 276 | //내용 추가 필요 |
240 | - }) | 277 | + }); |
241 | console.log(results[0].title); | 278 | console.log(results[0].title); |
242 | msg.reply(results[0].title + " 을 재생한다!"); | 279 | msg.reply(results[0].title + " 을 재생한다!"); |
243 | - }) | 280 | + }); |
244 | - | 281 | + }).catch(err => { |
245 | - }) | 282 | + console.error(err); |
246 | - .catch(console.log); | 283 | + return msg.member.voice.channel.leave(); |
284 | + }); | ||
247 | } else { | 285 | } else { |
248 | msg.reply("먼저 보이스채널에 입장해주세요."); | 286 | msg.reply("먼저 보이스채널에 입장해주세요."); |
249 | } | 287 | } | ... | ... |
data/studyTime/414005832829894666.txt
0 → 100644
1 | +0.0 0.0 | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
data/studyTime/781035193083232256.txt
0 → 100644
1 | +0.0 | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment