김건우

Fix StopWatch

...@@ -10,11 +10,15 @@ var now = new Date(); // 현재날짜 및 시간 객체 ...@@ -10,11 +10,15 @@ var now = new Date(); // 현재날짜 및 시간 객체
10 //로그인 콘솔 출력 10 //로그인 콘솔 출력
11 client.on("ready", () => { 11 client.on("ready", () => {
12 console.log(`Logged in as ${client.user.tag}!`) 12 console.log(`Logged in as ${client.user.tag}!`)
13 -}) 13 + client.user.setPresence({ game: { name: "챗봇 상태메시지 적는곳"}, status: "online"})
14 +});
14 15
15 16
16 //명령어 인식 17 //명령어 인식
17 client.on("message", msg => { 18 client.on("message", msg => {
19 + console.log(msg.author.id, msg.content); //채팅을 로그에 띄우기
20 +
21 +
18 22
19 //테스트 조건문 23 //테스트 조건문
20 if (msg.content === "ping") { 24 if (msg.content === "ping") {
...@@ -22,42 +26,87 @@ client.on("message", msg => { ...@@ -22,42 +26,87 @@ client.on("message", msg => {
22 } 26 }
23 if (msg.content === "!현재시간") { 27 if (msg.content === "!현재시간") {
24 msg.reply(now.getHours() + "시 " + now.getMinutes() + "분"); 28 msg.reply(now.getHours() + "시 " + now.getMinutes() + "분");
25 - } 29 + } // 테스트 조건문 end
30 +
31 +
32 +
33 +
26 34
27 //공부시작 시간 체크 35 //공부시작 시간 체크
28 if (msg.content === "!공부시작") { 36 if (msg.content === "!공부시작") {
29 var data = String(now.getHours()) +"."+ String(now.getMinutes()); 37 var data = String(now.getHours()) +"."+ String(now.getMinutes());
38 + console.log(msg.author.id);
30 39
31 - 40 + var fileName = msg.author.id + ".txt";
32 - fs.writeFile('data.txt', data, 'utf8', function(error){ // 파일에 data내용 저장 41 + fs.writeFileSync(fileName, data, 'utf8', function(error){ // 파일에 data내용 저장
33 - console.log('write end'); 42 + console.log('studyStart write end');
34 }); 43 });
35 44
36 msg.reply("공부시작! 열공~ ⁽⁽◝( ˙ ꒳ ˙ )◜⁾⁾"); 45 msg.reply("공부시작! 열공~ ⁽⁽◝( ˙ ꒳ ˙ )◜⁾⁾");
37 - } 46 + } //공부시작 시간 체크 end
47 +
38 48
39 - //공부끝 시간 체크
40 - if (msg.content === "!공부끝") {
41 - fs.readFile('data.txt', 'utf8', function(err, data) {
42 49
43 - var arr = data.split('.'); // arr[0] = 공부시작시간, arr[1] = 공부종료시간
44 50
45 - //공부시간 계산 51 +
46 - var studyHours = now.getHours() - Number(arr[0]); 52 + //공부끝 시간 체크
47 - if (now.getMinutes() - Number(data[1]) < 0) { 53 + if (msg.content === "!공부끝") {
48 - var studyMinutes = 60 + now.getMinutes() - Number(arr[1]); 54 + var fileName = msg.author.id + ".txt";
55 +
56 + try {
57 + // 파일 있는지 확인. 없으면 catch
58 +
59 + //(공부시작을 한 경우) : 공부시간 계산
60 + fs.readFile(fileName, 'utf8', function(err, data) {
61 + console.log('find');
62 + var studyData = data.toString().split('.');
63 + var studyHours = now.getHours() - Number(studyData[0]);
64 + if (now.getMinutes() - Number(studyData[1]) < 0) {
65 + var studyMinutes = 60 + now.getMinutes() - Number(studyData[1]);
49 } 66 }
50 else { 67 else {
51 - var studyMinutes = now.getMinutes() - Number(arr[1]); 68 + var studyMinutes = now.getMinutes() - Number(studyData[1]);
52 } 69 }
53 70
54 //공부시간 출력 71 //공부시간 출력
55 msg.reply(studyHours + "시간 " + studyMinutes + "분 공부하였습니다."); 72 msg.reply(studyHours + "시간 " + studyMinutes + "분 공부하였습니다.");
56 - console.log(studyHours + "h " +studyMinutes + "m"); 73 + console.log(studyHours + "h " + studyMinutes + "m");
57 }); 74 });
75 + //공부시간 출력하였으면 공부시작 적은 파일 삭제.
76 + try {
77 + fs.unlinkSync(fileName)
78 + } catch (error) {
79 + if(err.code == 'ENOENT'){
80 + console.log("file delete error");
81 + }
82 + }
58 83
59 - 84 + } catch (error) {
85 + //(공부시작을 하지 않은 경우)
86 + if (error.code === "ENOENT") {
87 + console.log("user no start");
88 + msg.reply("아직 공부를 시작하지 않았습니다.");
60 } 89 }
90 + }
91 +
92 + } //공부끝 시간 체크 end
93 +
94 +
95 +
96 +
97 +
98 +
99 +
100 +
101 +
102 +
103 +
104 +
105 +
106 +
107 +
108 +
109 +
61 110
62 111
63 }) 112 })
......
1 -3.48
...\ No newline at end of file ...\ No newline at end of file