Toggle navigation
Toggle navigation
This project
Loading...
Sign in
전세계
/
FakerQuiz
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-06-21 10:04:20 +0000
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
d2aaed35cfa81b7c48987efc0bb37e5dd240bcd8
d2aaed35
1 parent
5c8da353
기능: 최근 LCK 모스트픽, 승률 비교 OX퀴즈 생성
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
61 additions
and
4 deletions
app.js
app.js
View file @
d2aaed3
...
...
@@ -20,6 +20,7 @@ const version = '0.1';
const
dataFileName
=
'data.json'
;
var
fakerData
=
{};
var
quizList
=
[];
async
function
checkData
()
{
try
{
...
...
@@ -55,6 +56,8 @@ async function checkData() {
}
}
generateQuiz
();
return
new
Promise
(
function
(
resolve
,
reject
)
{
resolve
();
});
...
...
@@ -213,8 +216,56 @@ async function getData() {
});
}
function
generateQuiz
()
{
quizList
=
[];
//#region 최근 LCK 모스트픽 ox
var
mostList
=
[];
mostList
=
fakerData
.
recentLCK
.
most
;
var
quizO
=
`
${
fakerData
.
name
}
의 '
${
fakerData
.
recentLCK
.
name
}
' 모스트 픽은 '
${
mostList
[
0
].
champion
}
'이다.`
;
var
quizX
=
`
${
fakerData
.
name
}
의 '
${
fakerData
.
recentLCK
.
name
}
' 모스트 픽은 '
${
mostList
[
2
].
champion
}
'이다.`
;
var
info
=
`
${
fakerData
.
name
}
는 '
${
fakerData
.
recentLCK
.
name
}
'에서 '
${
mostList
[
0
].
champion
}
'을 가장 많이 플레이했습니다. (
${
mostList
[
0
].
played
}
게임)`
;
generateOX
(
quizO
,
quizX
,
info
);
//#endregion
//#region 최근 LCK 승률 비교 ox
var
lckWinRate
=
fakerData
.
recentLCK
.
comparison_WinRate
.
split
(
' '
)[
0
];
var
recentWinRate
=
fakerData
.
recentLCK
.
comparison_WinRate
.
split
(
' '
)[
1
];
if
(
lckWinRate
<
recentWinRate
)
{
quizO
=
`
${
fakerData
.
name
}
의 '
${
fakerData
.
recentLCK
.
name
}
' 승률은 LCK 통산 승률보다 높다.`
;
quizX
=
`
${
fakerData
.
name
}
의 '
${
fakerData
.
recentLCK
.
name
}
' 승률은 LCK 통산 승률보다 낮다.`
;
}
else
{
quizO
=
`
${
fakerData
.
name
}
의 '
${
fakerData
.
recentLCK
.
name
}
' 승률은 LCK 통산 승률보다 낮다.`
;
quizX
=
`
${
fakerData
.
name
}
의 '
${
fakerData
.
recentLCK
.
name
}
' 승률은 LCK 통산 승률보다 높다.`
;
}
info
=
`
${
fakerData
.
recentLCK
.
name
}
' 승률 :
${
recentWinRate
}
\nLCK 통산 승률 :
${
lckWinRate
}
`
;
generateOX
(
quizO
,
quizX
,
info
);
//#endregion
}
function
generateOX
(
quizO
,
quizX
,
moreInfo
)
{
var
quiz
;
var
ans
;
var
info
;
info
=
moreInfo
;
if
(
Math
.
random
()
>
0.5
)
{
quiz
=
quizO
;
ans
=
'o'
;
}
else
{
quiz
=
quizX
;
ans
=
'x'
;
}
quiz
=
'[OX퀴즈] '
+
quiz
;
quizList
.
push
(
{
quiz
:
quiz
,
ans
:
ans
,
info
:
info
}
);
}
app
.
use
(
bodyParser
.
json
());
app
.
post
(
'/hook'
,
function
(
req
,
res
)
{
app
.
post
(
'/hook'
,
async
function
(
req
,
res
)
{
var
eventObj
=
req
.
body
.
events
[
0
];
var
source
=
eventObj
.
source
;
var
message
=
eventObj
.
message
;
...
...
@@ -225,12 +276,18 @@ app.post('/hook', function (req, res) {
console
.
log
(
'[request source] '
,
eventObj
.
source
);
console
.
log
(
'[request message]'
,
eventObj
.
message
);
sendMessage
(
eventObj
.
replyToken
,
eventObj
.
message
.
text
);
if
(
eventObj
.
message
.
text
==
'시작'
)
{
await
checkData
();
sendQuiz
(
eventObj
.
replyToken
);
}
res
.
sendStatus
(
200
);
});
function
sendMessage
(
replyToken
,
message
)
{
function
sendQuiz
(
replyToken
,
message
)
{
var
randomQuiz
=
quizList
[
Math
.
floor
(
Math
.
random
()
*
quizList
.
length
)];
var
quizText
=
randomQuiz
.
quiz
;
request
.
post
(
{
url
:
TARGET_URL
,
...
...
@@ -242,7 +299,7 @@ function sendMessage(replyToken, message) {
"messages"
:[
{
"type"
:
"text"
,
"text"
:
"test"
"text"
:
quizText
}
]
}
...
...
Please
register
or
login
to post a comment