Showing
2 changed files
with
53 additions
and
20 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,18 +114,22 @@ client.on("message", msg => { | ... | @@ -113,18 +114,22 @@ client.on("message", msg => { |
113 | //디데이 설정 | 114 | //디데이 설정 |
114 | if (msg.content.startsWith("~디데이설정")) { | 115 | if (msg.content.startsWith("~디데이설정")) { |
115 | console.log("dDaySetStart"); | 116 | console.log("dDaySetStart"); |
117 | + try { | ||
118 | + var dDayData = msg.toString().split(" "); | ||
119 | + var dDayTitle = dDayData[1]; | ||
120 | + var dDayWhen = dDayData[2].toString().split('/'); | ||
121 | + var fileName = "data/dDay/" + dDayTitle + ".txt"; | ||
122 | + | ||
123 | + fs.writeFileSync(fileName, dDayData[2], 'utf8', function(error){ // 파일에 data내용 저장 | ||
124 | + console.log('dDaySet write end'); | ||
125 | + }); | ||
126 | + console.log(dDayWhen[0] + "월 " + dDayWhen[1] + "일에 " + dDayTitle + "이(가) 설정되었습니다."); | ||
127 | + msg.reply(dDayWhen[0] + "월 " + dDayWhen[1] + "일에 " + dDayTitle + "이(가) 설정되었습니다."); | ||
128 | + | ||
129 | + } catch { | ||
130 | + msg.reply("양식이 올바르지 않습니다. 예) ~디데이설정 기말고사 12/15"); | ||
131 | + } | ||
116 | 132 | ||
117 | - var dDayData = msg.toString().split(" "); | ||
118 | - var dDayTitle = dDayData[1]; | ||
119 | - var dDayWhen = dDayData[2].toString().split('/'); | ||
120 | - var fileName = "data/dDay/" + dDayTitle + ".txt"; | ||
121 | - | ||
122 | - fs.writeFileSync(fileName, dDayData[2], 'utf8', function(error){ // 파일에 data내용 저장 | ||
123 | - console.log('dDaySet write end'); | ||
124 | - }); | ||
125 | - | ||
126 | - console.log(dDayWhen[0] + "월 " + dDayWhen[1] + "일에 " + dDayTitle + "이(가) 설정되었습니다."); | ||
127 | - msg.reply(dDayWhen[0] + "월 " + dDayWhen[1] + "일에 " + dDayTitle + "이(가) 설정되었습니다."); | ||
128 | 133 | ||
129 | } //디데이 설정 end | 134 | } //디데이 설정 end |
130 | 135 | ||
... | @@ -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 | - | ||
149 | - | ||
150 | - | ||
151 | 157 | ||
158 | + //디데이 삭제 | ||
159 | + if (msg.content.startsWith("~디데이삭제")) { | ||
160 | + var dDayData = msg.toString().split(" "); | ||
161 | + var fileName = "data/dDay/" + dDayData[1] + ".txt"; | ||
162 | + try { | ||
152 | 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 | + } | ||
173 | + | ||
174 | + } catch (error) { | ||
175 | + | ||
176 | + //파일이 없다면 에러 발생 | ||
177 | + msg.reply("설정되지 않은 이벤트입니다."); | ||
178 | + if (error.code === "ENOENT") { | ||
179 | + console.log("파일이 존재하지 않습니다."); | ||
180 | + } | ||
181 | + } | ||
182 | + | ||
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