Toggle navigation
Toggle navigation
This project
Loading...
Sign in
오세헌
/
Ingredient-to-Dish-ChatBot
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-06-09 13:22:33 +0900
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
0e70b5adeac9644290c6e0db8f0a44fa3401e549
0e70b5ad
2 parents
22c7ef32
7d42572c
Merge branch 'ohsehun' into 'master'
Ohsehun See merge request
!8
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
58 additions
and
37 deletions
I_to_D_chatbot/reply.js
I_to_D_chatbot/reply.js
View file @
0e70b5a
var
express
=
require
(
'express'
);
const
request
=
require
(
'request'
);
const
TARGET_URL
=
'https://api.line.me/v2/bot/message/reply'
const
TOKEN
=
''
const
TOKEN
=
'
zVAczqoJ+L9oykqhEj7HoP7f6Nyb+R3T1TntHXQhYihI+KIxH4SZDGpKu0jKsMXMHKBVXpmbybA+oaV8u/dfLppKe3NHXU9AdBVypy9NgfWiFPLlcwm3GdkVPAZGoS4nvOCXWDKUb+ixPKWjlbnChAdB04t89/1O/w1cDnyilFU=
'
const
fs
=
require
(
'fs'
);
const
path
=
require
(
'path'
);
const
HTTPS
=
require
(
'https'
);
...
...
@@ -19,6 +19,36 @@ app.post('/hook', function (req, res) {
var
source
=
eventObj
.
source
;
var
message
=
eventObj
.
message
;
function
output_message
(
results
,
list
)
{
var
num
=
list
[
Math
.
floor
(
Math
.
random
()
*
list
.
length
)];
request
.
post
(
{
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"replyToken"
:
eventObj
.
replyToken
,
"messages"
:
[
{
"type"
:
"text"
,
"text"
:
`메뉴는 "
${
results
[[
num
]].
menu
}
" 입니다.`
},
{
"type"
:
"text"
,
"text"
:
`필요한 재료는\n\n"
${
results
[[
num
]].
ingrediant
}
"\n\n입니다.`
},
{
"type"
:
"text"
,
"text"
:
`레시피\n\n
${
results
[[
num
]].
recipe
}
`
}
]
}
},
(
error
,
response
,
body
)
=>
{
console
.
log
(
body
)
});
}
// request log
console
.
log
(
'======================'
,
new
Date
(),
'======================'
);
// mwsql
...
...
@@ -26,53 +56,43 @@ app.post('/hook', function (req, res) {
var
db
=
mysql
.
createConnection
({
host
:
'chatbot.c7fzgftc3yrm.us-east-1.rds.amazonaws.com'
,
user
:
'chatbot'
,
password
:
''
,
password
:
'
11111111
'
,
database
:
'chatbot'
,
port
:
'3306'
});
db
.
connect
();
db
.
query
(
'SELECT * FROM data'
,
function
(
error
,
results
,
fields
)
{
var
max
=
0
;
db
.
query
(
'SELECT * FROM recipe'
,
function
(
error
,
results
,
fields
)
{
if
(
error
)
{
console
.
log
(
error
);
}
var
arr
=
new
Array
();
var
arr
1
=
new
Array
();
var
input_ingredients_list
=
message
.
text
.
split
(
" "
);
console
.
log
(
input_ingredients_list
);
for
(
var
i
=
0
;
i
<
results
.
length
;
i
++
)
{
var
ingredients_list
=
results
[
i
].
ingredients
.
split
(
", "
);
if
(
ingredients_list
.
filter
(
x
=>
input_ingredients_list
.
includes
(
x
)).
length
===
input_ingredients_list
.
length
)
{
arr
.
push
(
i
);
var
ingredients_list
=
results
[
i
].
ingrediant
.
split
(
","
);
var
count
=
ingredients_list
.
filter
(
x
=>
input_ingredients_list
.
includes
(
x
)).
length
;
if
(
count
>
max
)
{
max
=
count
;
var
arr2
=
new
Array
();
}
if
(
count
===
input_ingredients_list
.
length
)
{
arr1
.
push
(
i
);
}
else
if
(
arr1
.
length
===
0
&&
count
!=
0
&&
count
===
max
)
{
arr2
.
push
(
i
);
}
}
if
(
arr
.
length
!=
0
)
{
var
num
=
arr
[
Math
.
floor
(
Math
.
random
()
*
arr
.
length
)];
request
.
post
(
{
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"replyToken"
:
eventObj
.
replyToken
,
"messages"
:
[
{
"type"
:
"text"
,
"text"
:
`메뉴는 "
${
results
[[
num
]].
menu
}
" 입니다.`
},
{
"type"
:
"text"
,
"text"
:
`필요한 재료는\n\n"
${
results
[[
num
]].
ingredients
}
"\n\n입니다.`
},
{
"type"
:
"text"
,
"text"
:
`레시피\n\n
${
results
[[
num
]].
recipe
}
`
}
]
}
},
(
error
,
response
,
body
)
=>
{
console
.
log
(
body
)
});
if
(
arr1
.
length
!=
0
)
{
output_message
(
results
,
arr1
);
}
else
if
(
arr2
.
length
!=
0
)
{
output_message
(
results
,
arr2
);
}
else
{
request
.
post
(
...
...
@@ -94,9 +114,11 @@ app.post('/hook', function (req, res) {
console
.
log
(
body
)
});
}
});
db
.
end
();
res
.
sendStatus
(
200
);
});
...
...
@@ -113,5 +135,4 @@ try {
}
catch
(
error
)
{
console
.
log
(
'[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'
);
console
.
log
(
error
);
}
}
\ No newline at end of file
...
...
Please
register
or
login
to post a comment