Showing
2 changed files
with
89 additions
and
26 deletions
... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
2 | ------------------------------- | 2 | ------------------------------- |
3 | (이곳에 구동 화면 삽입) | 3 | (이곳에 구동 화면 삽입) |
4 | 4 | ||
5 | -커리어넷의 진로심리검사 프로그램을 쉽고 간단하게 접속할 수 있게 <br> | 5 | +커리어넷의 진로심리검사 중 직업가치관검사를 쉽고 간단하게 할 수 있게 <br> |
6 | LINE 챗봇을 통해 구현함 <br><br> | 6 | LINE 챗봇을 통해 구현함 <br><br> |
7 | 7 | ||
8 | (이곳에 QR 이미지 삽입) | 8 | (이곳에 QR 이미지 삽입) | ... | ... |
... | @@ -2,53 +2,116 @@ var express = require('express'); | ... | @@ -2,53 +2,116 @@ var express = require('express'); |
2 | const request = require('request'); | 2 | const request = require('request'); |
3 | const TARGET_URL = 'https://api.line.me/v2/bot/message/reply' | 3 | const TARGET_URL = 'https://api.line.me/v2/bot/message/reply' |
4 | const TOKEN = 'rqZYufny8jqziXvpdrovk6Ot5B3Ia8xm42g+jQecXtgL7M35KJVmS8Y5mIP/yETRyGJpKKEVmWkTQUQcHOfKL083D6SqgZIViOuQ8EQHRxzmJkgGHcfYLBeK7Nadc1kaqAd+3wzLATBryaIgBBAwSQdB04t89/1O/w1cDnyilFU=' | 4 | const TOKEN = 'rqZYufny8jqziXvpdrovk6Ot5B3Ia8xm42g+jQecXtgL7M35KJVmS8Y5mIP/yETRyGJpKKEVmWkTQUQcHOfKL083D6SqgZIViOuQ8EQHRxzmJkgGHcfYLBeK7Nadc1kaqAd+3wzLATBryaIgBBAwSQdB04t89/1O/w1cDnyilFU=' |
5 | +const Question_URL = 'https://inspct.career.go.kr/openapi/test/questions?apikey=8f65744f11f9b7e8fc2b7c28617e9d09&q=6' | ||
6 | +const Result_URL = 'https://inspct.career.go.kr/openapi/test/report?apikey=8f65744f11f9b7e8fc2b7c28617e9d09&qestnrSeq=6' | ||
5 | const fs = require('fs'); | 7 | const fs = require('fs'); |
6 | const path = require('path'); | 8 | const path = require('path'); |
7 | const HTTPS = require('https'); | 9 | const HTTPS = require('https'); |
8 | const domain = "www.skdhkfkdy.tk" | 10 | const domain = "www.skdhkfkdy.tk" |
9 | const sslport = 23023; | 11 | const sslport = 23023; |
10 | - | ||
11 | const bodyParser = require('body-parser'); | 12 | const bodyParser = require('body-parser'); |
12 | var app = express(); | 13 | var app = express(); |
13 | app.use(bodyParser.json()); | 14 | app.use(bodyParser.json()); |
15 | + | ||
14 | app.post('/hook', function (req, res) { | 16 | app.post('/hook', function (req, res) { |
15 | 17 | ||
16 | var eventObj = req.body.events[0]; | 18 | var eventObj = req.body.events[0]; |
17 | var source = eventObj.source; | 19 | var source = eventObj.source; |
18 | var message = eventObj.message; | 20 | var message = eventObj.message; |
19 | - | 21 | + var contents; |
20 | // request log | 22 | // request log |
21 | console.log('======================', new Date() ,'======================'); | 23 | console.log('======================', new Date() ,'======================'); |
22 | console.log('[request]', req.body); | 24 | console.log('[request]', req.body); |
23 | console.log('[request source] ', eventObj.source); | 25 | console.log('[request source] ', eventObj.source); |
24 | console.log('[request message]', eventObj.message); | 26 | console.log('[request message]', eventObj.message); |
25 | 27 | ||
26 | - request.post( | 28 | + test_load(eventObj.replyToken); |
27 | - { | 29 | + |
28 | - url: TARGET_URL, | 30 | + res.sendStatus(200); |
29 | - headers: { | 31 | +}); |
30 | - 'Authorization': `Bearer ${TOKEN}` | 32 | +function reply_loaded(replyToken,question,answer){ |
31 | - }, | 33 | + request.post({ |
32 | - json: { | 34 | + url: TARGET_URL, |
33 | - "replyToken":eventObj.replyToken, | 35 | + headers: { |
34 | - "messages":[ | 36 | + 'Authorization': `Bearer ${TOKEN}` |
35 | - { | 37 | + }, |
36 | - "type":"text", | 38 | + json: { |
37 | - "text":"Hello, user" | 39 | + "replyToken":replyToken, |
38 | - }, | 40 | + "messages":[ |
39 | - { | 41 | + { |
40 | - "type":"text", | 42 | + "type":"text", |
41 | - "text":"May I help you?" | 43 | + "text":question |
42 | - } | 44 | + },{ |
43 | - ] | 45 | + "type":"text", |
46 | + "text":answer | ||
47 | + }] | ||
44 | } | 48 | } |
45 | },(error, response, body) => { | 49 | },(error, response, body) => { |
46 | console.log(body) | 50 | console.log(body) |
47 | - }); | 51 | + }); |
48 | - | 52 | +} |
53 | +function test_load(replyToken){ | ||
54 | + var contents; | ||
55 | + var question; | ||
56 | + var answer; | ||
57 | + request.get({ | ||
58 | + url:Question_URL | ||
59 | + },function(err,res,body){ | ||
60 | + contents = JSON.parse(body); | ||
61 | + for(var i=0;i<28;i++){ | ||
62 | + console.log("====================================="); | ||
63 | + question = contents["RESULT"][i]["question"]; | ||
64 | + answer = contents["RESULT"][i]["answer01"]+"/"+contents["RESULT"][i]["answer02"]; | ||
65 | + reply_loaded(replyToken,question,answer); | ||
66 | + console.log("replyed"); | ||
67 | + console.log("====================================="); | ||
68 | + } | ||
69 | + }); | ||
70 | +} | ||
49 | 71 | ||
50 | - res.sendStatus(200); | 72 | +// function test(replyToken, answersheet){ |
51 | -}); | 73 | + |
74 | +// } | ||
75 | + | ||
76 | +// function trans(replyToken, message) { | ||
77 | + | ||
78 | +// request.post( | ||
79 | +// { | ||
80 | +// url: Question_URL, | ||
81 | +// headers: { | ||
82 | +// 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', | ||
83 | +// 'X-Naver-Client-Id': `${PAPAGO_ID}`, | ||
84 | +// 'X-Naver-Client-Secret': `${PAPAGO_SECRET}` | ||
85 | +// }, | ||
86 | +// body: 'source=ko&target=en&text=' + message, | ||
87 | +// json:true | ||
88 | +// },(error, response, body) => { | ||
89 | +// if(!error && response.statusCode == 200) { | ||
90 | +// console.log(body.message); | ||
91 | +// var transMessage = body.message.result.translatedText; | ||
92 | +// request.post( | ||
93 | +// { | ||
94 | +// url: TARGET_URL, | ||
95 | +// headers: { | ||
96 | +// 'Authorization': `Bearer ${TOKEN}` | ||
97 | +// }, | ||
98 | +// json: { | ||
99 | +// "replyToken":replyToken, | ||
100 | +// "messages":[ | ||
101 | +// { | ||
102 | +// "type":"text", | ||
103 | +// "text":transMessage | ||
104 | +// } | ||
105 | +// ] | ||
106 | +// } | ||
107 | +// },(error, response, body) => { | ||
108 | +// console.log(body) | ||
109 | +// } | ||
110 | +// ); | ||
111 | +// } | ||
112 | +// } | ||
113 | +// ) | ||
114 | +// } | ||
52 | 115 | ||
53 | try { | 116 | try { |
54 | const option = { | 117 | const option = { |
... | @@ -64,4 +127,4 @@ try { | ... | @@ -64,4 +127,4 @@ try { |
64 | console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'); | 127 | console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'); |
65 | console.log(error); | 128 | console.log(error); |
66 | } | 129 | } |
67 | - | 130 | + |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment