EC2 Default User

Implement reply function

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'),
......