mirror of
https://github.com/aydenjahola/discord-multipurpose-bot.git
synced 2024-11-22 00:35:56 +00:00
trivia: add streaks
This commit is contained in:
parent
b33a4c02cc
commit
9d3a56a640
3 changed files with 9 additions and 2 deletions
|
@ -27,6 +27,7 @@ module.exports = {
|
|||
name: displayName,
|
||||
correctAnswers: entry.correctAnswers,
|
||||
gamesPlayed: entry.gamesPlayed,
|
||||
streak: entry.streak, // Include streak
|
||||
};
|
||||
} catch (error) {
|
||||
console.error(
|
||||
|
@ -38,6 +39,7 @@ module.exports = {
|
|||
name: entry.username,
|
||||
correctAnswers: entry.correctAnswers,
|
||||
gamesPlayed: entry.gamesPlayed,
|
||||
streak: entry.streak, // Include streak
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -50,7 +52,7 @@ module.exports = {
|
|||
|
||||
// Add each leaderboard entry
|
||||
leaderboardEntries.forEach((entry) => {
|
||||
const fieldValue = `${entry.correctAnswers} correct answers in ${entry.gamesPlayed} games`;
|
||||
const fieldValue = `${entry.correctAnswers} correct answers in ${entry.gamesPlayed} games\nCurrent streak: ${entry.streak}`;
|
||||
|
||||
leaderboardEmbed.addFields({
|
||||
name: `${entry.position}. ${entry.name}`,
|
||||
|
|
|
@ -163,17 +163,21 @@ const handleAnswerCollection = async (
|
|||
username,
|
||||
gamesPlayed: 1,
|
||||
correctAnswers: userAnswer === correctAnswer ? 1 : 0,
|
||||
streak: userAnswer === correctAnswer ? 1 : 0, // Start streak
|
||||
});
|
||||
} else {
|
||||
userScore.gamesPlayed += 1;
|
||||
if (userAnswer === correctAnswer) {
|
||||
userScore.correctAnswers += 1;
|
||||
userScore.streak += 1; // Increment streak
|
||||
} else {
|
||||
userScore.streak = 0; // Reset streak
|
||||
}
|
||||
}
|
||||
await userScore.save();
|
||||
|
||||
await interaction.followUp(
|
||||
`${resultMessage} <@${userId}> You've answered ${userScore.correctAnswers} questions correctly out of ${userScore.gamesPlayed} games.`
|
||||
`${resultMessage} <@${userId}> You've answered ${userScore.correctAnswers} questions correctly out of ${userScore.gamesPlayed} games. Your current streak is **${userScore.streak}**.`
|
||||
);
|
||||
|
||||
ONGOING_TRIVIA.delete(userId);
|
||||
|
|
|
@ -5,6 +5,7 @@ const leaderboardSchema = new mongoose.Schema({
|
|||
username: { type: String, required: true },
|
||||
gamesPlayed: { type: Number, default: 0 },
|
||||
correctAnswers: { type: Number, default: 0 },
|
||||
streak: { type: Number, default: 0 },
|
||||
});
|
||||
|
||||
const Leaderboard = mongoose.model("Leaderboard", leaderboardSchema);
|
||||
|
|
Loading…
Reference in a new issue