윤성아

Add Chatbot

...@@ -3,6 +3,7 @@ const axios = require('axios').default; ...@@ -3,6 +3,7 @@ const axios = require('axios').default;
3 const FormData = require('form-data'); 3 const FormData = require('form-data');
4 4
5 const constants = require('./constants'); 5 const constants = require('./constants');
6 +const {getMessage} = require('./message');
6 7
7 const app = express(); 8 const app = express();
8 app.use(express.json()); 9 app.use(express.json());
...@@ -18,7 +19,7 @@ app.get('/notify', (req, res) => { ...@@ -18,7 +19,7 @@ app.get('/notify', (req, res) => {
18 form.append('stickerPackageId', 1); 19 form.append('stickerPackageId', 1);
19 form.append('stickerId', 1); 20 form.append('stickerId', 1);
20 21
21 - axios.post(url, form, { headers: form.getHeaders({ authorization: `Bearer ${constants.LINE.TOKEN}` })}) 22 + axios.post(url, form, { headers: form.getHeaders({ authorization: `Bearer ${constants.LINE.CHANNEL_TOKEN}` })})
22 .then(notifyResponse => { 23 .then(notifyResponse => {
23 console.log(notifyResponse); 24 console.log(notifyResponse);
24 res.status(200); 25 res.status(200);
...@@ -46,11 +47,7 @@ app.post('/webhook', (req, res) => { ...@@ -46,11 +47,7 @@ app.post('/webhook', (req, res) => {
46 messages: [ 47 messages: [
47 { 48 {
48 type: 'text', 49 type: 'text',
49 - text: 'Hello!', 50 + text: getMessage(message),
50 - },
51 - {
52 - type: 'text',
53 - text: 'May I Help U?',
54 }, 51 },
55 ], 52 ],
56 }, { 53 }, {
......
1 +const getMessage = cmd => {
2 + const curr = new Date();
3 + const utc = curr.getTime() + (curr.getTimezoneOffset() * 60 * 1000);
4 + const KR_TIME_DIFF = 9 * 60 * 60 * 1000;
5 + const now = new Date(utc + (KR_TIME_DIFF));
6 +
7 + const day = now.getDay();
8 + const hours = now.getHours();
9 + if (
10 + ((day >= 1 && day <= 5) && (hours < 11 || hours > 20)) ||
11 + ((day < 1 || day > 5) && (hours < 11 || hours > 19))
12 + ) {
13 + return `지금은 챗봇 이용시간이 아닙니다. 가게 운영 시간에 다시 이용해주세요:)
14 +[운영시간]
15 +평일 - 오전 11:00 ~ 오후 8:00
16 +토요일 - 오전 11:00 ~ 오후 7:00
17 +휴무일 매주 일요일
18 +
19 +* 공휴일은 운영하지 않습니다
20 + `
21 + }
22 +
23 +
24 + switch (cmd.text) {
25 + case '1':
26 + return `저희 가게 '스윗데이'의 위치는
27 +경기도 용인시 기흥구 덕영대로 1732번지 입니다.`;
28 + case '2':
29 + return `운영시간
30 +평일 - 오전 11:00 ~ 오후 8:00
31 +토요일 - 오전 11:00 ~ 오후 7:00
32 +휴무일 매주 일요일
33 +
34 +* 공휴일은 운영하지 않습니다`;
35 + case '3':
36 + return `1) 스콘
37 +플레인, 초코칩, 레몬, 고메 앙버터, 말차 와인 무화과, 황치즈, 얼그레이, 카야쨈버터, 버터 카라멜
38 +2) 쿠키
39 +초코 르벵쿠키, 말차 르벵쿠키, 스모어 마쉬멜로우 레드벨벳쿠키, 크림치즈 레드벨벳쿠키
40 +3) 마카롱
41 +블루베리, 고메바닐라, 솔티카라멜, 더블치즈, 우유누텔라, 카라멜, 레몬요거트, 토블론초코, 카라멜크렘브릴레, 돼지바, 페레로로쉐, 젤리요거트
42 +4)그 외
43 +코코넛로쉐, 티그레, 크로플, 휘낭시에, 블루베리 크럼블
44 + `;
45 + case '4':
46 + return `1) 스콘
47 +플레인 2,900원 품절
48 +초코칩 3,200원 2
49 +레몬 3,500원 6
50 +고메 앙버터 3,500원 3
51 +말차와인무화과 3,200원 7
52 +황치즈 3,200원 1
53 +얼그레이 3,200원 품절
54 +카야쨈버터 3,500원 5
55 +버터 카라멜 3,500원 품절
56 +2) 쿠키
57 +초코 르벵쿠키 3,500원 품절
58 +말차 르벵쿠키 3,500원 6
59 +스모어 마쉬멜로우 레드벨벳 쿠키 3,500원 2
60 +크림치즈 레드벨벳쿠키 3,500원 4
61 +3) 마카롱
62 +블루베리 2000원 6
63 +고메바닐라 2000원 품절
64 +솔티카라멜 2000원 1
65 +더블치즈 2000원 7
66 +우유누텔라 2300원 5
67 +카라멜 2300원 5
68 +레몬요거트 2300원 3
69 +토블론초코 2500원 1
70 +카라멜크렘브릴레 2500원 3
71 +돼지바 2800원 6
72 +페레로로쉐 2800원 2
73 +젤리요거트 2500원 5
74 +4) 그 외
75 +코코넛로쉐 1,800원 2
76 +티그레 2,000원 7
77 +크로플 3,500원 품절
78 +휘낭시에 3,500원 품절
79 +블루베리 크럼블 4,000원 3
80 + `;
81 + case '5':
82 + return `기타 문의사항이 있으신 분은 아래 연락처로 연락주시길 바랍니다:)
83 +'스윗데이' : 031-201-3722
84 + `;
85 + default:
86 + return `이해할 수 없는 단어입니다...아래 목록에서 원하시는 메뉴의 번호를 입력해주세요!
87 +1. 가게 위치 안내
88 +2. 가게 오픈/마감 시간
89 +3. 판매 중인 상품
90 +4. 구매 가능 상품 및 수량
91 +5. 기타`;
92 + }
93 +}
94 +
95 +module.exports = {
96 + getMessage,
97 +};
...\ No newline at end of file ...\ No newline at end of file