mirror of
https://github.com/aydenjahola/discord-multipurpose-bot.git
synced 2024-11-22 08:45:55 +00:00
trivia: avoid adding duplicate questiosn to the db
This commit is contained in:
parent
83fc8d207e
commit
eb6445b0f9
1 changed files with 30 additions and 16 deletions
|
@ -100,31 +100,45 @@ const fetchTriviaQuestion = async (categoryId, categoryName) => {
|
||||||
`https://opentdb.com/api.php?amount=1&category=${categoryId}&token=${sessionToken}`
|
`https://opentdb.com/api.php?amount=1&category=${categoryId}&token=${sessionToken}`
|
||||||
);
|
);
|
||||||
const retryApiQuestion = retryResponse.data.results[0];
|
const retryApiQuestion = retryResponse.data.results[0];
|
||||||
await TriviaQuestion.create({
|
|
||||||
question: decode(retryApiQuestion.question),
|
|
||||||
correct_answer: decode(retryApiQuestion.correct_answer),
|
|
||||||
incorrect_answers: retryApiQuestion.incorrect_answers.map(decode),
|
|
||||||
category: categoryName,
|
|
||||||
last_served: null,
|
|
||||||
});
|
|
||||||
|
|
||||||
triviaQuestion = await TriviaQuestion.findOne({
|
triviaQuestion = await TriviaQuestion.findOne({
|
||||||
question: decode(retryApiQuestion.question),
|
question: decode(retryApiQuestion.question),
|
||||||
category: categoryName,
|
category: categoryName,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!triviaQuestion) {
|
||||||
|
await TriviaQuestion.create({
|
||||||
|
question: decode(retryApiQuestion.question),
|
||||||
|
correct_answer: decode(retryApiQuestion.correct_answer),
|
||||||
|
incorrect_answers: retryApiQuestion.incorrect_answers.map(decode),
|
||||||
|
category: categoryName,
|
||||||
|
last_served: null,
|
||||||
|
});
|
||||||
|
|
||||||
|
triviaQuestion = await TriviaQuestion.findOne({
|
||||||
|
question: decode(retryApiQuestion.question),
|
||||||
|
category: categoryName,
|
||||||
|
});
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
await TriviaQuestion.create({
|
|
||||||
question: decode(apiQuestion.question),
|
|
||||||
correct_answer: decode(apiQuestion.correct_answer),
|
|
||||||
incorrect_answers: apiQuestion.incorrect_answers.map(decode),
|
|
||||||
category: categoryName,
|
|
||||||
last_served: null,
|
|
||||||
});
|
|
||||||
|
|
||||||
triviaQuestion = await TriviaQuestion.findOne({
|
triviaQuestion = await TriviaQuestion.findOne({
|
||||||
question: decode(apiQuestion.question),
|
question: decode(apiQuestion.question),
|
||||||
category: categoryName,
|
category: categoryName,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!triviaQuestion) {
|
||||||
|
await TriviaQuestion.create({
|
||||||
|
question: decode(apiQuestion.question),
|
||||||
|
correct_answer: decode(apiQuestion.correct_answer),
|
||||||
|
incorrect_answers: apiQuestion.incorrect_answers.map(decode),
|
||||||
|
category: categoryName,
|
||||||
|
last_served: null,
|
||||||
|
});
|
||||||
|
|
||||||
|
triviaQuestion = await TriviaQuestion.findOne({
|
||||||
|
question: decode(apiQuestion.question),
|
||||||
|
category: categoryName,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LAST_API_CALL.time = Date.now(); // Update the last API call time
|
LAST_API_CALL.time = Date.now(); // Update the last API call time
|
||||||
|
|
Loading…
Reference in a new issue