Showing
2 changed files
with
100 additions
and
6 deletions
... | @@ -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 | }, { | ... | ... |
https/message.js
0 → 100644
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 |
-
Please register or login to post a comment