Ubuntu

기능: 퀴즈 출제시 저장된 답과 비교하여 정답여부 결정

Showing 1 changed file with 18 additions and 5 deletions
......@@ -286,11 +286,13 @@ app.post('/hook', async function (req, res) {
quizInfo: null
};
sendQuiz(eventObj.replyToken, eventObj.source.userId);
} else if (isWaitAns && eventObj.message.text == '정답') {
users[eventObj.source.userId].streak ++;
sendQuiz(eventObj.replyToken, eventObj.source.userId);
} else if (isWaitAns && eventObj.message.text == '오답') {
endQuiz(eventObj.replyToken, eventObj.source.userId);
} else if (isWaitAns) {
if (checkAns(eventObj.source.userId, eventObj.message.text)) {
users[eventObj.source.userId].streak++;
sendQuiz(eventObj.replyToken, eventObj.source.userId);
} else {
endQuiz(eventObj.replyToken, eventObj.source.userId);
}
}
res.sendStatus(200);
......@@ -300,6 +302,9 @@ function sendQuiz(replyToken, id) {
var randomQuiz = quizList[Math.floor(Math.random()*quizList.length)];
var quizText = randomQuiz.quiz;
users[id].quizAns = randomQuiz.ans;
users[id].quizInfo = randomQuiz.info;
request.post(
{
url: TARGET_URL,
......@@ -323,6 +328,14 @@ function sendQuiz(replyToken, id) {
isWaitAns = true;
}
function checkAns(id, ans) {
if (ans.toUpperCase() == users[id].quizAns.toUpperCase()) {
return true;
} else {
return false;
}
}
function endQuiz(replyToken, id) {
isWaitAns = false;
......