Toggle navigation
Toggle navigation
This project
Loading...
Sign in
최재웅
/
menu_recommand_webpage
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
박태권
2022-05-31 22:49:33 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
34705c3da6f00af8eb186de527aa3bbc08745aab
34705c3d
1 parent
f37676f9
Update app.js
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
134 additions
and
19 deletions
CHATBOT/app.js
CHATBOT/app.js
View file @
34705c3
//http://khuhub.khu.ac.kr/2021105602/menu_recommand_webpage.git
var
lenguage
=
'not'
;
var
express
=
require
(
'express'
);
const
request
=
require
(
'request'
);
const
TARGET_URL
=
'https://api.line.me/v2/bot/message/reply'
const
TOKEN
=
'
채널 토큰
'
const
TOKEN
=
'
Ur8nbk2bQAc9KavLSSJv0uzlKWCxCBnOJOKyqbRS1mMHWgJlEOPfb7v+X1DDEHocUmhU7KnPFN+KHt5S3SYd5QmF42aTeQpW2gDVTjyqty1Tn+p6QqEhI/uSz659PBHwczEYn0Plx+akfCNHDPJRpAdB04t89/1O/w1cDnyilFU=
'
const
PAPAGO_URL
=
'https://openapi.naver.com/v1/papago/n2mt'
const
PAPAGO_ID
=
'
파파고 ID
'
const
PAPAGO_SECRET
=
'
파파고 Client Secret
'
const
PAPAGO_ID
=
'
1Z83W3lUGLqnNbrDAk8A
'
const
PAPAGO_SECRET
=
'
ST7ElRPFPP
'
const
fs
=
require
(
'fs'
);
const
path
=
require
(
'path'
);
const
HTTPS
=
require
(
'https'
);
const
domain
=
"
도메인 명
"
const
domain
=
"
2021105602.osschatbot2022.tk
"
const
sslport
=
23023
;
const
bodyParser
=
require
(
'body-parser'
);
const
res
=
require
(
'express/lib/response'
);
var
app
=
express
();
app
.
use
(
bodyParser
.
json
());
app
.
post
(
'/hook'
,
function
(
req
,
res
)
{
var
eventObj
=
req
.
body
.
events
[
0
];
var
source
=
eventObj
.
source
;
var
message
=
eventObj
.
message
;
// request log
console
.
log
(
'======================'
,
new
Date
()
,
'======================'
);
console
.
log
(
'[request]'
,
req
.
body
);
console
.
log
(
'[request source] '
,
eventObj
.
source
);
console
.
log
(
'[request message]'
,
eventObj
.
message
);
trans
(
eventObj
.
replyToken
,
eventObj
.
message
.
text
);
do
{
app
.
use
(
bodyParser
.
json
());
app
.
post
(
'/hook'
,
function
(
req
,
res
)
{
var
eventObj
=
req
.
body
.
events
[
0
];
var
source
=
eventObj
.
source
;
var
message
=
eventObj
.
message
;
// request log
console
.
log
(
'======================'
,
new
Date
()
,
'======================'
);
console
.
log
(
'[request]'
,
req
.
body
);
console
.
log
(
'[request source] '
,
eventObj
.
source
);
console
.
log
(
'[request message]'
,
eventObj
.
message
);
if
(
eventObj
.
message
.
text
==
'영어'
)
{
lenguage
=
'en'
;
}
else
if
(
eventObj
.
message
.
text
==
'일본어'
)
{
lenguage
=
'ja'
}
else
if
(
eventObj
.
message
.
text
==
'프랑스어'
)
{
lenguage
=
'fr'
}
else
{
if
(
lenguage
==
'en'
)
{
trans_en
(
eventObj
.
replyToken
,
eventObj
.
message
.
text
);
}
else
if
(
lenguage
==
'ja'
)
{
trans_ja
(
eventObj
.
replyToken
,
eventObj
.
message
.
text
);
}
else
if
(
lenguage
==
'fr'
)
{
trans_fr
(
eventObj
.
replyToken
,
eventObj
.
message
.
text
);
}
else
{
trans_en
(
eventObj
.
replyToken
,
'오류'
);
}
}
res
.
sendStatus
(
200
);
});
function
trans
(
replyToken
,
message
)
{
res
.
sendStatus
(
200
);
});
}
while
(
lenguage
==
'en'
|
lenguage
==
'fr'
|
lenguage
==
'ja'
);
function
trans_en
(
replyToken
,
message
)
{
request
.
post
(
{
url
:
PAPAGO_URL
,
...
...
@@ -62,7 +96,88 @@ function trans(replyToken, message) {
});
}
});
}
function
trans_ja
(
replyToken
,
message
)
{
request
.
post
(
{
url
:
PAPAGO_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=ja&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
)
});
}
});
}
function
trans_fr
(
replyToken
,
message
)
{
request
.
post
(
{
url
:
PAPAGO_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=fr&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