Toggle navigation
Toggle navigation
This project
Loading...
Sign in
윤성배
/
chatbot_for_PsychologicalTest
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
1
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
Ubuntu
2020-12-09 13:13:39 +0000
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
64d9690a1108a0770e183d58663f8bdcf0401e77
64d9690a
1 parent
d6f8e313
result almost completed
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
78 additions
and
105 deletions
app.js
app.js
View file @
64d9690
...
...
@@ -3,7 +3,7 @@ const request = require('request');
const
TARGET_URL
=
'https://api.line.me/v2/bot/message/reply'
const
TOKEN
=
'rqZYufny8jqziXvpdrovk6Ot5B3Ia8xm42g+jQecXtgL7M35KJVmS8Y5mIP/yETRyGJpKKEVmWkTQUQcHOfKL083D6SqgZIViOuQ8EQHRxzmJkgGHcfYLBeK7Nadc1kaqAd+3wzLATBryaIgBBAwSQdB04t89/1O/w1cDnyilFU='
const
Question_URL
=
'https://inspct.career.go.kr/openapi/test/questions?apikey=8f65744f11f9b7e8fc2b7c28617e9d09&q=6'
const
Result_URL
=
'https://inspct.career.go.kr/openapi/test/report
?apikey=8f65744f11f9b7e8fc2b7c28617e9d09&qestnrSeq=6
'
const
Result_URL
=
'https://inspct.career.go.kr/openapi/test/report'
const
fs
=
require
(
'fs'
);
const
path
=
require
(
'path'
);
const
HTTPS
=
require
(
'https'
);
...
...
@@ -14,10 +14,12 @@ const { stringify } = require('querystring');
const
{
ADDRGETNETWORKPARAMS
}
=
require
(
'dns'
);
var
app
=
express
();
app
.
use
(
bodyParser
.
json
());
var
ans_sheet
=
""
,
i
,
question
,
answer
,
contents
;
var
ans_sheet
=
""
,
i
,
question
,
answer
,
contents
,
result
;
app
.
post
(
'/hook'
,
function
(
req
,
res
)
{
var
eventObj
=
req
.
body
.
events
[
0
];
var
message
=
eventObj
.
message
;
ans_sheet
=
"B0=1 B1=1 B2=1 B3=1 B4=1 B5=1 B6=1 B7=1 B8=1 B9=1 B10=1 B11=1 B12=1 B13=1 B14=1 B15=1 B16=1 B17=1 B18=1 B19=1 B20=1 B21=1 B22=1 B23=1 B24=1 B25=1 B26=1 B27="
;
i
=
28
;
console
.
log
(
'======================'
,
new
Date
()
,
'======================'
);
console
.
log
(
'[request]'
,
req
.
body
);
console
.
log
(
'[request source] '
,
eventObj
.
source
);
...
...
@@ -40,10 +42,12 @@ app.post('/hook', function (req, res) {
},
json
:
{
"replyToken"
:
eventObj
.
replyToken
,
"messages"
:[
{
"messages"
:[{
"type"
:
"text"
,
"text"
:
"직업가치관검사를 시작합니다(28문항)"
},{
"type"
:
"text"
,
"text"
:
question
"text"
:
(
i
+
1
).
toString
()
+
". "
+
question
},{
"type"
:
"text"
,
"text"
:
answer
...
...
@@ -60,113 +64,82 @@ app.post('/hook', function (req, res) {
});
}
else
if
(
message
.
text
==
"1"
||
message
.
text
==
"2"
){
ans_sheet
+=
message
.
text
+
" "
;
console
.
log
(
"====================================="
);
request
.
get
({
url
:
Question_URL
},
function
(
err
,
res
,
body
){
contents
=
JSON
.
parse
(
body
);
question
=
contents
[
"RESULT"
][
i
][
"question"
];
answer
=
contents
[
"RESULT"
][
i
][
"answer01"
]
+
"/"
+
contents
[
"RESULT"
][
i
][
"answer02"
];
ans_sheet
+=
"B"
+
i
.
toString
()
+
"="
;
ans_sheet
+=
message
.
text
+
" "
;
console
.
log
(
ans_sheet
);
if
(
i
==
28
){
request
.
post
({
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"replyToken"
:
eventObj
.
replyToken
,
"messages"
:[
{
"type"
:
"text"
,
"text"
:
question
},{
"type"
:
"text"
,
"text"
:
answer
},{
"type"
:
"text"
,
"text"
:
"답변은 1 또는 2로 해주세요"
}]
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
"====================================="
);
i
+=
1
;
url
:
Result_URL
,
json
:{
"apikey"
:
"8f65744f11f9b7e8fc2b7c28617e9d09"
,
"qestrnSeq"
:
"6"
,
"trgetSe"
:
"100208"
,
"gender"
:
"100323"
,
"school"
:
"경희대학교"
,
"grade"
:
"2"
,
"startDtm"
:
1550466291034
,
"answers"
:
ans_sheet
}
},(
err
,
res
,
body
)
=>
{
contents
=
body
;
result
=
contents
[
"RESULT"
][
"url"
];
request
.
post
({
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"replyToken"
:
eventObj
.
replyToken
,
"messages"
:
{
"type"
:
"text"
,
"text"
:
result
}
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
result
);
console
.
log
(
"result replyed"
);
});
});
});
}
else
{
request
.
get
({
url
:
Question_URL
},
function
(
err
,
res
,
body
){
contents
=
JSON
.
parse
(
body
);
question
=
contents
[
"RESULT"
][
i
][
"question"
];
answer
=
contents
[
"RESULT"
][
i
][
"answer01"
]
+
"/"
+
contents
[
"RESULT"
][
i
][
"answer02"
];
ans_sheet
+=
"B"
+
i
.
toString
()
+
"="
;
request
.
post
({
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"replyToken"
:
eventObj
.
replyToken
,
"messages"
:[
{
"type"
:
"text"
,
"text"
:(
i
+
1
).
toString
()
+
". "
+
question
},{
"type"
:
"text"
,
"text"
:
answer
},{
"type"
:
"text"
,
"text"
:
"답변은 1 또는 2로 해주세요"
}]
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
"====================================="
);
i
+=
1
;
});
});
}
}
console
.
log
(
ans_sheet
);
res
.
sendStatus
(
200
);
});
// function result_test(replyToken){
// request.post({
// url:Result_URL,
// trgetSe:"100208",
// gender:"남",
// grade:"2",
// startDtm:Date(),
// answer:ans_sheet
// },(err,res,body)=>{
// request.post({
// url: TARGET_URL,
// headers: {
// 'Authorization': `Bearer ${TOKEN}`
// },
// json: {
// "replyToken":replyToken,
// "messages":
// {
// "type":"text",
// "text":JSON.parse(body)
// }
// }
// },(error, response, body) => {
// console.log(body)
// });
// });
// }
// function trans(replyToken, message) {
// request.post(
// {
// url: Question_URL,
// headers: {
// 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
// 'X-Naver-Client-Id': `${PAPAGO_ID}`,
// 'X-Naver-Client-Secret': `${PAPAGO_SECRET}`
// },
// body: 'source=ko&target=en&text=' + message,
// json:true
// },(error, response, body) => {
// if(!error && response.statusCode == 200) {
// console.log(body.message);
// var transMessage = body.message.result.translatedText;
// request.post(
// {
// url: TARGET_URL,
// headers: {
// 'Authorization': `Bearer ${TOKEN}`
// },
// json: {
// "replyToken":replyToken,
// "messages":[
// {
// "type":"text",
// "text":transMessage
// }
// ]
// }
// },(error, response, body) => {
// console.log(body)
// }
// );
// }
// }
// )
// }
try
{
const
option
=
{
ca
:
fs
.
readFileSync
(
'/etc/letsencrypt/live/'
+
domain
+
'/fullchain.pem'
),
...
...
Please
register
or
login
to post a comment