trivia: add option for a random trivia

This commit is contained in:
Ayden Jahola 2024-09-24 12:25:21 +01:00
parent 2e9d53ffc5
commit 7376649895
No known key found for this signature in database
GPG key ID: 71DD90AE4AE92742

View file

@ -276,9 +276,10 @@ module.exports = {
.addStringOption((option) => .addStringOption((option) =>
option option
.setName("category") .setName("category")
.setDescription("Choose a trivia category") .setDescription("Choose a trivia category or random")
.setRequired(true) .setRequired(true)
.addChoices( .addChoices(
{ name: "Random", value: "random" },
...Object.entries(CATEGORY_MAP).map(([value, name]) => ({ ...Object.entries(CATEGORY_MAP).map(([value, name]) => ({
name, name,
value, value,
@ -303,8 +304,19 @@ module.exports = {
ACTIVE_GAMES.add(userId); ACTIVE_GAMES.add(userId);
try { try {
const categoryId = interaction.options.getString("category"); let categoryId = interaction.options.getString("category");
const categoryName = CATEGORY_MAP[categoryId] || "Video Games"; let categoryName;
if (categoryId === "random") {
// Choose a random category from CATEGORY_MAP
const categoryKeys = Object.keys(CATEGORY_MAP);
const randomKey =
categoryKeys[Math.floor(Math.random() * categoryKeys.length)];
categoryId = randomKey; // This is now valid
categoryName = CATEGORY_MAP[randomKey];
} else {
categoryName = CATEGORY_MAP[categoryId] || "Video Games";
}
const { triviaQuestion, source } = await fetchTriviaQuestion( const { triviaQuestion, source } = await fetchTriviaQuestion(
userId, userId,