use dictionary instead of hardcoded if-else for each game
This commit is contained in:
parent
f6600f3f74
commit
0853602afb
@ -1,15 +1,21 @@
|
||||
const { SlashCommandBuilder } = require('@discordjs/builders');
|
||||
const { MessageAttachment } = require("discord.js");
|
||||
const fs = require('node:fs');
|
||||
const gameDict = {
|
||||
bhop: "files/bhop_submissions.csv",
|
||||
surf: "files/surf_submissions.csv",
|
||||
deathrun: "files/deathrun_submissions.csv",
|
||||
};
|
||||
var commandChoices = [];
|
||||
for (const [game, file] of Object.entries(gameDict)) {
|
||||
commandChoices.push({name: game, value: game})
|
||||
}
|
||||
|
||||
async function execute(interaction) {
|
||||
const game = interaction.options.getString("game");
|
||||
|
||||
let fname;
|
||||
if (game === "bhop") fname = "files/bhop_submissions.csv";
|
||||
else if (game === "surf") fname = "files/surf_submissions.csv";
|
||||
else if (game === "deathrun") fname = "files/deathrun_submissions.csv";
|
||||
else {
|
||||
let fname = gameDict[game];
|
||||
if (fname === undefined) {
|
||||
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
|
||||
return;
|
||||
}
|
||||
@ -33,7 +39,7 @@ module.exports = {
|
||||
option.setName("game")
|
||||
.setDescription("Select the maptest game")
|
||||
.setRequired(true)
|
||||
.addChoices({name: "bhop", value: "bhop"}, {name: "surf", value: "surf"}, {name: "deathrun", value: "deathrun"}))
|
||||
.addChoices(commandChoices))
|
||||
,
|
||||
execute
|
||||
};
|
@ -3,6 +3,15 @@ const { parse } = require("csv-parse/sync");
|
||||
const fs = require('node:fs');
|
||||
const noblox = require("noblox.js");
|
||||
const axios = require("axios").default;
|
||||
const gameDict = {
|
||||
bhop: "files/bhop_submissions.csv",
|
||||
surf: "files/surf_submissions.csv",
|
||||
deathrun: "files/deathrun_submissions.csv",
|
||||
};
|
||||
var commandChoices = [];
|
||||
for (const [game, file] of Object.entries(gameDict)) {
|
||||
commandChoices.push({name: game, value: game})
|
||||
}
|
||||
|
||||
async function robloxUserFromDiscord(id) {
|
||||
if (isNaN(id)) return undefined;
|
||||
@ -33,11 +42,8 @@ async function execute(interaction) {
|
||||
}
|
||||
const game = interaction.options.getString("game");
|
||||
|
||||
let fname;
|
||||
if (game === "bhop") fname = "files/bhop_submissions.csv";
|
||||
else if (game === "surf") fname = "files/surf_submissions.csv";
|
||||
else if (game === "deathrun") fname = "files/deathrun_submissions.csv";
|
||||
else {
|
||||
let fname = gameDict[game];
|
||||
if (fname === undefined) {
|
||||
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
|
||||
return;
|
||||
}
|
||||
@ -97,7 +103,7 @@ module.exports = {
|
||||
option.setName("game")
|
||||
.setDescription("Select the maptest game")
|
||||
.setRequired(true)
|
||||
.addChoices({name: "bhop", value: "bhop"}, {name: "surf", value: "surf"}, {name: "deathrun", value: "deathrun"}))
|
||||
.addChoices(commandChoices))
|
||||
.addIntegerOption(option =>
|
||||
option.setName("asset_id")
|
||||
.setDescription("The asset ID of the model")
|
||||
|
@ -1,14 +1,20 @@
|
||||
const { SlashCommandBuilder } = require('@discordjs/builders');
|
||||
const noblox = require("noblox.js");
|
||||
const { bhopCookie, surfCookie, deathrunCookie } = require("../config/config.json");
|
||||
const cookieDict = {
|
||||
bhop: bhopCookie,
|
||||
surf: surfCookie,
|
||||
deathrun: deathrunCookie,
|
||||
};
|
||||
var commandChoices = [];
|
||||
for (const [game, file] of Object.entries(cookieDict)) {
|
||||
commandChoices.push({name: game, value: game})
|
||||
}
|
||||
|
||||
async function execute(interaction) {
|
||||
const game = interaction.options.getString("game");
|
||||
let cookie;
|
||||
if (game === "bhop") cookie = bhopCookie;
|
||||
else if (game === "surf") cookie = surfCookie;
|
||||
else if (game === "deathrun") cookie = deathrunCookie;
|
||||
else {
|
||||
let cookie = cookieDict[game];
|
||||
if (cookie === undefined) {
|
||||
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
|
||||
return;
|
||||
}
|
||||
@ -59,7 +65,7 @@ module.exports = {
|
||||
option.setName("game")
|
||||
.setDescription("Select the maptest game")
|
||||
.setRequired(true)
|
||||
.addChoices({name: "bhop", value: "bhop"}, {name: "surf", value: "surf"}, {name: "deathrun", value: "deathrun"}))
|
||||
.addChoices(commandChoices))
|
||||
.addIntegerOption(option =>
|
||||
option.setName("asset_id")
|
||||
.setDescription("The asset ID of the model")
|
||||
|
Loading…
Reference in New Issue
Block a user