Showing
2 changed files
with
41 additions
and
8 deletions
data/stopWatch/414005832829894666.txt
0 → 100644
| 1 | +22.45 | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | const {prefix, token} = require('./config.json'); | 1 | const {prefix, token} = require('./config.json'); |
| 2 | -const Discord = require("discord.js") | 2 | +const Discord = require("discord.js") // npm install discord.js 필요 |
| 3 | const client = new Discord.Client() | 3 | const client = new Discord.Client() |
| 4 | -var fs = require('fs'); //파일입출력 모듈 | 4 | +var fs = require('fs'); |
| 5 | const internal = require("stream"); | 5 | const internal = require("stream"); |
| 6 | var now = new Date(); // 현재날짜 및 시간 객체 | 6 | var now = new Date(); // 현재날짜 및 시간 객체 |
| 7 | +var moment = require('moment') // npm install --save moment 필요 | ||
| 7 | 8 | ||
| 8 | 9 | ||
| 9 | 10 | ||
| ... | @@ -35,7 +36,7 @@ client.on("message", msg => { | ... | @@ -35,7 +36,7 @@ client.on("message", msg => { |
| 35 | msg.reply("Pong!") | 36 | msg.reply("Pong!") |
| 36 | } | 37 | } |
| 37 | if (command === "현재시간") { | 38 | if (command === "현재시간") { |
| 38 | - msg.reply(now.getHours() + "시 " + now.getMinutes() + "분"); | 39 | + msg.reply(now.getFullYear() + "년 " + (now.getMonth()+1) + "월 " +now.getDate() + "일 " + now.getHours() + "시 " + now.getMinutes() + "분"); |
| 39 | } // 테스트 조건문 end | 40 | } // 테스트 조건문 end |
| 40 | 41 | ||
| 41 | 42 | ||
| ... | @@ -47,7 +48,7 @@ client.on("message", msg => { | ... | @@ -47,7 +48,7 @@ client.on("message", msg => { |
| 47 | var data = String(now.getHours()) +"."+ String(now.getMinutes()); | 48 | var data = String(now.getHours()) +"."+ String(now.getMinutes()); |
| 48 | console.log(msg.author.id); | 49 | console.log(msg.author.id); |
| 49 | 50 | ||
| 50 | - var fileName = "data/stopWatch/" + msg.author.id + ".txt"; | 51 | + var fileName = "./data/stopWatch/" + msg.author.id + ".txt"; |
| 51 | fs.writeFileSync(fileName, data, 'utf8', function(error){ // 파일에 data내용 저장 | 52 | fs.writeFileSync(fileName, data, 'utf8', function(error){ // 파일에 data내용 저장 |
| 52 | console.log('studyStart write end'); | 53 | console.log('studyStart write end'); |
| 53 | }); | 54 | }); |
| ... | @@ -113,7 +114,7 @@ client.on("message", msg => { | ... | @@ -113,7 +114,7 @@ client.on("message", msg => { |
| 113 | //디데이 설정 | 114 | //디데이 설정 |
| 114 | if (msg.content.startsWith("~디데이설정")) { | 115 | if (msg.content.startsWith("~디데이설정")) { |
| 115 | console.log("dDaySetStart"); | 116 | console.log("dDaySetStart"); |
| 116 | - | 117 | + try { |
| 117 | var dDayData = msg.toString().split(" "); | 118 | var dDayData = msg.toString().split(" "); |
| 118 | var dDayTitle = dDayData[1]; | 119 | var dDayTitle = dDayData[1]; |
| 119 | var dDayWhen = dDayData[2].toString().split('/'); | 120 | var dDayWhen = dDayData[2].toString().split('/'); |
| ... | @@ -122,10 +123,14 @@ client.on("message", msg => { | ... | @@ -122,10 +123,14 @@ client.on("message", msg => { |
| 122 | fs.writeFileSync(fileName, dDayData[2], 'utf8', function(error){ // 파일에 data내용 저장 | 123 | fs.writeFileSync(fileName, dDayData[2], 'utf8', function(error){ // 파일에 data내용 저장 |
| 123 | console.log('dDaySet write end'); | 124 | console.log('dDaySet write end'); |
| 124 | }); | 125 | }); |
| 125 | - | ||
| 126 | console.log(dDayWhen[0] + "월 " + dDayWhen[1] + "일에 " + dDayTitle + "이(가) 설정되었습니다."); | 126 | console.log(dDayWhen[0] + "월 " + dDayWhen[1] + "일에 " + dDayTitle + "이(가) 설정되었습니다."); |
| 127 | msg.reply(dDayWhen[0] + "월 " + dDayWhen[1] + "일에 " + dDayTitle + "이(가) 설정되었습니다."); | 127 | msg.reply(dDayWhen[0] + "월 " + dDayWhen[1] + "일에 " + dDayTitle + "이(가) 설정되었습니다."); |
| 128 | 128 | ||
| 129 | + } catch { | ||
| 130 | + msg.reply("양식이 올바르지 않습니다. 예) ~디데이설정 기말고사 12/15"); | ||
| 131 | + } | ||
| 132 | + | ||
| 133 | + | ||
| 129 | } //디데이 설정 end | 134 | } //디데이 설정 end |
| 130 | 135 | ||
| 131 | 136 | ||
| ... | @@ -139,18 +144,45 @@ client.on("message", msg => { | ... | @@ -139,18 +144,45 @@ client.on("message", msg => { |
| 139 | 144 | ||
| 140 | fileArr.forEach((el,i) => { | 145 | fileArr.forEach((el,i) => { |
| 141 | fs.readFile("./data/dDay/"+el, 'utf8', function(err, data) { | 146 | fs.readFile("./data/dDay/"+el, 'utf8', function(err, data) { |
| 142 | - msg.reply(el.replace('.txt','') + ' ' + data); | 147 | + var dDayWhen = data.toString().split('/'); |
| 148 | + var t1 = moment(); //현재 날짜 | ||
| 149 | + var t2 = moment(String(now.getFullYear()) + "-" + dDayWhen[0] + "-" + dDayWhen[1] , 'YYYY-MM-DD'); // 저장된 날짜 | ||
| 150 | + | ||
| 151 | + msg.reply(el.replace('.txt','') + "까지 D - "+ (Number(t2.diff(t1,'days')) + 2)); //dDay 답장 | ||
| 143 | }); | 152 | }); |
| 144 | }); | 153 | }); |
| 145 | }); | 154 | }); |
| 146 | } //디데이 달력 보기 end | 155 | } //디데이 달력 보기 end |
| 147 | 156 | ||
| 148 | 157 | ||
| 158 | + //디데이 삭제 | ||
| 159 | + if (msg.content.startsWith("~디데이삭제")) { | ||
| 160 | + var dDayData = msg.toString().split(" "); | ||
| 161 | + var fileName = "data/dDay/" + dDayData[1] + ".txt"; | ||
| 162 | + try { | ||
| 149 | 163 | ||
| 164 | + fs.statSync(fileName); //파일 존재 확인 | ||
| 165 | + try { | ||
| 166 | + fs.unlinkSync(fileName) // 파일 존재시 삭제 | ||
| 167 | + msg.reply("해당 이벤트가 삭제되었습니다."); | ||
| 168 | + } catch (error) { | ||
| 169 | + if(err.code == 'ENOENT'){ | ||
| 170 | + console.log("file delete error"); | ||
| 171 | + } | ||
| 172 | + } | ||
| 150 | 173 | ||
| 174 | + } catch (error) { | ||
| 175 | + | ||
| 176 | + //파일이 없다면 에러 발생 | ||
| 177 | + msg.reply("설정되지 않은 이벤트입니다."); | ||
| 178 | + if (error.code === "ENOENT") { | ||
| 179 | + console.log("파일이 존재하지 않습니다."); | ||
| 180 | + } | ||
| 181 | + } | ||
| 151 | 182 | ||
| 152 | 183 | ||
| 153 | 184 | ||
| 185 | + } //디데이 삭제 end | ||
| 154 | 186 | ||
| 155 | 187 | ||
| 156 | 188 | ||
| ... | @@ -162,4 +194,4 @@ client.on("message", msg => { | ... | @@ -162,4 +194,4 @@ client.on("message", msg => { |
| 162 | 194 | ||
| 163 | 195 | ||
| 164 | //디스코드 봇 토큰 | 196 | //디스코드 봇 토큰 |
| 165 | -client.login(token); | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 197 | +client.login('OTA3OTU2NjY1MTEzMDE4NDA4.YYuuiQ.Rn2yQ9lGPLr_24sky29TWQHLOYA'); | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment