Showing
1 changed file
with
35 additions
and
9 deletions
1 | -const express = require('express'); | 1 | +var express = require('express'); |
2 | +const request = require('request'); | ||
3 | +const TARGET_URL = 'https://api.line.me/v2/bot/message/reply' | ||
4 | +const TOKEN = 'P5+e9JkPRckzKu1Fv7ghZl1MfP0wrYwYcgBVzHWe1OHO4Gtv1PIa9BARYqxoAThaXPSf8MyVKcpDE88V5jOnoS4o2xCNcgH9Ne4wcrPuNX6AT4gsfYEz0Y7n/A4+rT4vXHYARK34YPbkzzQbiXiyiQdB04t89/1O/w1cDnyilFU=' | ||
2 | const fs = require('fs'); | 5 | const fs = require('fs'); |
3 | const path = require('path'); | 6 | const path = require('path'); |
4 | const HTTPS = require('https'); | 7 | const HTTPS = require('https'); |
5 | const domain = "2020105659.osschatbot.cf" | 8 | const domain = "2020105659.osschatbot.cf" |
6 | const sslport = 23023; | 9 | const sslport = 23023; |
7 | 10 | ||
8 | - | 11 | +//Webhook |
9 | -//Configure webhook | ||
10 | const bodyParser = require('body-parser'); | 12 | const bodyParser = require('body-parser'); |
11 | -const app = express(); | 13 | +var app = express(); |
12 | app.use(bodyParser.json()); | 14 | app.use(bodyParser.json()); |
13 | -app.post('/hook', function (request, response) { | 15 | +app.post('/hook', function (req, res) { |
14 | 16 | ||
15 | - var eventObj = request.body.events[0]; | 17 | + var eventObj = req.body.events[0]; |
16 | var source = eventObj.source; | 18 | var source = eventObj.source; |
17 | var message = eventObj.message; | 19 | var message = eventObj.message; |
18 | 20 | ||
19 | // request log | 21 | // request log |
20 | console.log('======================', new Date() ,'======================'); | 22 | console.log('======================', new Date() ,'======================'); |
21 | - console.log('[request]', request.body); | 23 | + console.log('[request]', req.body); |
22 | console.log('[request source] ', eventObj.source); | 24 | console.log('[request source] ', eventObj.source); |
23 | console.log('[request message]', eventObj.message); | 25 | console.log('[request message]', eventObj.message); |
24 | 26 | ||
25 | - response.sendStatus(200); | 27 | + //Reply |
28 | + request.post( | ||
29 | + { | ||
30 | + url: TARGET_URL, | ||
31 | + headers: { | ||
32 | + 'Authorization': `Bearer ${TOKEN}` | ||
33 | + }, | ||
34 | + json: { | ||
35 | + "replyToken":eventObj.replyToken, | ||
36 | + "messages":[ | ||
37 | + { | ||
38 | + "type":"text", | ||
39 | + "text":"안녕하세요" | ||
40 | + }, | ||
41 | + { | ||
42 | + "type":"text", | ||
43 | + "text":"끝말잇기봇입니다" | ||
44 | + } | ||
45 | + ] | ||
46 | + } | ||
47 | + },(error, response, body) => { | ||
48 | + console.log(body) | ||
49 | + }); | ||
50 | + | ||
51 | + res.sendStatus(200); | ||
26 | }); | 52 | }); |
27 | 53 | ||
28 | -//Set SSL | 54 | +//SSL |
29 | try { | 55 | try { |
30 | const option = { | 56 | const option = { |
31 | ca: fs.readFileSync('/etc/letsencrypt/live/' + domain +'/fullchain.pem'), | 57 | ca: fs.readFileSync('/etc/letsencrypt/live/' + domain +'/fullchain.pem'), | ... | ... |
-
Please register or login to post a comment