Toggle navigation
Toggle navigation
This project
Loading...
Sign in
공정훈
/
find_mbti_bot
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-03 15:20:34 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
3d3a02eafeb7b8572dc7943b6144e6b95041decc
3d3a02ea
1 parent
129883e6
Update app.js
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
258 deletions
app/app.js
app/app.js
View file @
3d3a02e
...
...
@@ -41,36 +41,6 @@ apiRouter.post('/sayHello', function(req, res) {
res
.
status
(
200
).
send
(
responseBody
);
});
apiRouter
.
post
(
'/test'
,
(
req
,
res
)
=>
{
const
responseBody
=
{
version
:
"2.0"
,
template
:
{
outputs
:
[
{
simpleText
:
{
text
:
'재밌는 MBTI 테스트'
}
}
],
quickReplies
:
[
{
action
:
"block"
,
label
:
"할래!"
,
message
:
"할래!"
,
blockId
:
"6294c3ecf591aa1905548230"
},
{
action
:
"block"
,
label
:
"안 할래"
,
message
:
"안 할래"
,
blockId
:
"628b7ef293b31d5b60ab4b29"
}
]
}
}
res
.
status
(
200
).
send
(
responseBody
);
});
apiRouter
.
post
(
'/question1'
,
(
req
,
res
)
=>
{
var
userId
=
req
.
body
.
userRequest
.
user
.
id
;
var
mesg
=
req
.
body
.
userRequest
;
...
...
@@ -338,13 +308,13 @@ apiRouter.post('/question7', (req, res) => {
action
:
"block"
,
label
:
"네"
,
message
:
"네"
,
blockId
:
"6297
b3505ceed96c38544a0a
"
blockId
:
"6297
7ff05ceed96c385449b9
"
},
{
action
:
"block"
,
label
:
"아니오"
,
message
:
"아니오"
,
blockId
:
"6297
b3505ceed96c38544a0a
"
blockId
:
"6297
7ff05ceed96c385449b9
"
}
]
}
...
...
@@ -354,8 +324,16 @@ apiRouter.post('/question7', (req, res) => {
apiRouter
.
post
(
'/question8'
,
(
req
,
res
)
=>
{
var
userId
=
req
.
body
.
userRequest
.
user
.
id
;
userDB
[
userId
]
=
[
''
,
''
,
''
,
''
,
''
];
console
.
log
(
userDB
);
var
mesg
=
req
.
body
.
userRequest
.
utterance
;
console
.
log
(
'[q2:user message] '
,
mesg
);
var
mbti
=
''
;
if
(
mesg
==
"네"
)
{
mbti
=
'T'
;
}
else
if
(
mesg
==
"아니오"
)
{
mbti
=
'F'
;
}
userDB
[
userId
][
1
]
+=
mbti
;
console
.
log
(
userDB
[
userId
]);
const
responseBody
=
{
version
:
"2.0"
,
template
:
{
...
...
@@ -617,13 +595,13 @@ apiRouter.post('/question8', (req, res) => {
action
:
"block"
,
label
:
"네"
,
message
:
"네"
,
blockId
:
"629
79c9ce7a0253c7662ccd4
"
blockId
:
"629
4c3ecf591aa1905548230
"
},
{
action
:
"block"
,
label
:
"아니오"
,
message
:
"아니오"
,
blockId
:
"629
79c9ce7a0253c7662ccd4
"
blockId
:
"629
4c3ecf591aa1905548230
"
}
]
}
...
...
@@ -632,8 +610,17 @@ apiRouter.post('/question8', (req, res) => {
});
apiRouter
.
post
(
'/question15'
,
(
req
,
res
)
=>
{
var
mesg
=
req
.
body
.
userRequest
.
utterance
;
var
userId
=
req
.
body
.
userRequest
.
user
.
id
;
userDB
[
userId
]
=
[
''
,
''
,
''
,
''
,
''
];
var
mbti
=
''
;
if
(
mesg
==
"네"
){
mbti
=
'N'
;
}
else
if
(
mesg
==
"아니오"
)
{
mbti
=
'S'
;
}
userDB
[
userId
][
0
]
+=
mbti
;
console
.
log
(
userDB
);
const
responseBody
=
{
version
:
"2.0"
,
template
:
{
...
...
@@ -866,16 +853,15 @@ apiRouter.post('/question20', (req, res) => {
apiRouter
.
post
(
'/result'
,
(
req
,
res
)
=>
{
var
userId
=
req
.
body
.
userRequest
.
user
.
id
;
var
mesg
=
req
.
body
.
userRequest
.
utterance
;
console
.
log
(
'[result:user message] '
,
mesg
);
var
mbti
=
''
;
if
(
mesg
==
"네"
)
{
mbti
=
'T
'
;
mbti
=
'J
'
;
}
else
if
(
mesg
==
"아니오"
)
{
mbti
=
'F
'
;
mbti
=
'P
'
;
}
userDB
[
userId
][
2
]
+=
mbti
;
userDB
[
userId
][
3
]
+=
mbti
;
console
.
log
(
userDB
[
userId
]);
result
(
userDB
[
userId
]);
analysis_mbti
(
userDB
[
userId
]);
const
responseBody
=
{
version
:
"2.0"
,
template
:
{
...
...
@@ -967,228 +953,16 @@ apiRouter.post('/detail', (req, res) => {
res
.
status
(
200
).
send
(
responseBody
);
});
function
result
(
Array
){
var
E
=
0
;
var
I
=
0
;
var
N
=
0
;
var
S
=
0
;
var
F
=
0
;
var
T
=
0
;
var
P
=
0
;
var
J
=
0
;
for
(
let
j
=
0
;
j
<
4
;
j
++
){
for
(
let
i
=
0
;
i
<
3
;
i
++
){
if
(
j
==
0
){
if
(
Array
[
j
][
i
]
==
"E"
){
E
++
;
}
else
{
I
++
;
}
}
else
if
(
j
==
1
){
if
(
Array
[
j
][
i
]
==
"N"
){
N
++
;
}
else
{
S
++
;
}
}
else
if
(
j
==
2
){
if
(
Array
[
j
][
i
]
==
"F"
){
F
++
;
}
else
{
T
++
;
}
}
else
if
(
j
==
3
){
if
(
Array
[
j
][
i
]
==
"N"
){
P
++
;
}
else
{
J
++
;
}
}
}
}
if
(
E
>
I
)
Array
[
4
]
+=
'E'
;
else
Array
[
4
]
+=
'I'
;
if
(
N
>
S
)
Array
[
4
]
+=
'N'
;
else
Array
[
4
]
+=
'S'
;
if
(
F
>
T
)
Array
[
4
]
+=
'F'
;
else
Array
[
4
]
+=
'T'
;
if
(
P
>
J
)
Array
[
4
]
+=
'P'
;
else
Array
[
4
]
+=
'J'
;
}
apiRouter
.
post
(
'/result'
,
(
req
,
res
)
=>
{
var
mesg
=
req
.
body
.
userRequest
.
utterance
;
var
userId
=
req
.
body
.
userRequest
.
user
.
id
;
mbtiper
=
[
''
,
''
,
''
,
''
,
''
,
''
,
''
,
''
];
var
mbti
=
''
;
if
(
mesg
==
"네"
){
mbti
=
'N'
;
}
else
if
(
mesg
==
"아니오"
)
{
mbti
=
'S'
;
}
userDB
[
userId
][
1
]
+=
mbti
;
var
e
=
0
;
var
n
=
0
;
var
f
=
0
;
var
j
=
0
;
for
(
i
=
0
;
i
<
2
;
i
++
){
if
(
userDB
[
userId
][
0
][
i
]
==
"E"
){
e
++
;
}
}
for
(
i
=
0
;
i
<
2
;
i
++
){
if
(
userDB
[
userId
][
1
][
i
]
==
"N"
){
n
++
;
}
}
for
(
i
=
0
;
i
<
1
;
i
++
){
if
(
userDB
[
userId
][
2
][
i
]
==
"F"
){
f
++
;
}
}
for
(
i
=
0
;
i
<
2
;
i
++
){
if
(
userDB
[
userId
][
3
][
i
]
==
"J"
){
j
++
;
}
}
var
i
=
2
-
e
;
var
s
=
2
-
n
;
var
t
=
1
-
f
;
var
p
=
2
-
j
;
mbtiper
[
0
]
+=
20
*
e
;
mbtiper
[
1
]
+=
20
*
i
;
mbtiper
[
2
]
+=
20
*
n
;
mbtiper
[
3
]
+=
20
*
s
;
mbtiper
[
4
]
+=
20
*
t
;
mbtiper
[
5
]
+=
20
*
f
;
mbtiper
[
6
]
+=
20
*
j
;
mbtiper
[
7
]
+=
20
*
p
;
if
(
mbtiper
[
0
]
>
mbtiper
[
1
]){
userDB
[
userId
][
4
]
+=
'E'
;
}
else
{
userDB
[
userId
][
4
]
+=
'I'
;
}
if
(
mbtiper
[
2
]
>
mbtiper
[
3
]){
userDB
[
userId
][
4
]
+=
'N'
;
}
else
{
userDB
[
userId
][
4
]
+=
'S'
;
}
if
(
mbtiper
[
4
]
>
mbtiper
[
5
]){
userDB
[
userId
][
4
]
+=
'T'
;
}
else
{
userDB
[
userId
][
4
]
+=
'F'
;
}
if
(
mbtiper
[
6
]
>
mbtiper
[
7
]){
userDB
[
userId
][
4
]
+=
'J'
;
}
else
{
userDB
[
userId
][
4
]
+=
'P'
;
}
const
responseBody
=
{
version
:
"2.0"
,
template
:
{
outputs
:
[
{
simpleText
:
{
text
:
"당신의 MBTI는 : "
+
userDB
[
userId
][
4
]
}
}
],
quickReplies
:
[{
action
:
"block"
,
label
:
"MBTI 테스트 다시하기"
,
message
:
"MBTI 테스트 다시하기"
,
blockId
:
"62977ff05ceed96c385449b9"
},
{
action
:
"block"
,
label
:
"결과 상세보기"
,
message
:
"결과 상세보기"
,
blockId
:
"62987b78e7a0253c7662dcd9"
}]
}
}
res
.
status
(
200
).
send
(
responseBody
);
});
apiRouter
.
post
(
'/percent'
,
(
req
,
res
)
=>
{
const
responseBody
=
{
version
:
"2.0"
,
template
:
{
outputs
:
[
{
simpleText
:
{
text
:
'E: '
+
mbtiper
[
0
]
+
'%\nI: '
+
mbtiper
[
1
]
+
'%\nN: '
+
mbtiper
[
2
]
+
'%\nS: '
+
mbtiper
[
3
]
+
'%\nT: '
+
mbtiper
[
4
]
+
'%\nF: '
+
mbtiper
[
5
]
+
'%\nJ: '
+
mbtiper
[
6
]
+
'%\nP: '
+
mbtiper
[
7
]
+
'%'
}
}
]
}
}
res
.
status
(
200
).
send
(
responseBody
);
});
apiRouter
.
post
(
'/result'
,
(
req
,
res
)
=>
{
var
userId
=
req
.
body
.
userRequest
.
user
.
id
;
var
mesg
=
req
.
body
.
userRequest
.
utterance
;
var
mbti
=
''
;
if
(
mesg
==
"네"
)
{
mbti
=
'J'
;
}
else
if
(
mesg
==
"아니오"
)
{
mbti
=
'P'
;
}
userDB
[
userId
][
3
]
+=
mbti
;
console
.
log
(
userDB
[
userId
]);
analysis_mbti
(
userDB
[
userId
]);
const
responseBody
=
{
version
:
"2.0"
,
template
:
{
outputs
:
[
{
simpleText
:
{
text
:
"당신의 MBTI는 : "
+
userDB
[
userId
][
4
]
}
}
],
quickReplies
:
[{
action
:
"block"
,
label
:
"MBTI 테스트 다시하기"
,
message
:
"MBTI 테스트 다시하기"
,
blockId
:
"628b7ef293b31d5b60ab4b29"
//to question 1
}]
}
}
res
.
status
(
200
).
send
(
responseBody
);
});
function
analysis_mbti
(
userdb
)
{
var
e
=
count_mbti
(
userdb
[
0
],
'E'
);
var
i
=
1
-
e
;
//-> 5
var
i
=
5
-
e
;
var
n
=
count_mbti
(
userdb
[
1
],
'N'
);
var
s
=
1
-
n
;
//-> 5
var
s
=
5
-
n
;
var
f
=
count_mbti
(
userdb
[
2
],
'F'
);
var
t
=
2
-
f
;
//-> 5
var
t
=
5
-
f
;
var
j
=
count_mbti
(
userdb
[
3
],
'J'
);
var
p
=
2
-
j
;
//-> 5
var
p
=
5
-
j
;
if
(
e
>
i
)
{
userdb
[
4
]
+=
'E'
;
}
else
{
...
...
Please
register
or
login
to post a comment