use centralized dictionary instead of hardcoded if-else for each game
This commit is contained in:
parent
f6600f3f74
commit
378c456b85
@ -1,15 +1,13 @@
|
|||||||
const { SlashCommandBuilder } = require('@discordjs/builders');
|
const { SlashCommandBuilder } = require('@discordjs/builders');
|
||||||
const { MessageAttachment } = require("discord.js");
|
const { MessageAttachment } = require("discord.js");
|
||||||
const fs = require('node:fs');
|
const fs = require('node:fs');
|
||||||
|
const { submissions, commands } = require("../config/config.js");
|
||||||
|
|
||||||
async function execute(interaction) {
|
async function execute(interaction) {
|
||||||
const game = interaction.options.getString("game");
|
const game = interaction.options.getString("game");
|
||||||
|
|
||||||
let fname;
|
const fname = submissions[game];
|
||||||
if (game === "bhop") fname = "files/bhop_submissions.csv";
|
if (fname === undefined) {
|
||||||
else if (game === "surf") fname = "files/surf_submissions.csv";
|
|
||||||
else if (game === "deathrun") fname = "files/deathrun_submissions.csv";
|
|
||||||
else {
|
|
||||||
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
|
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -33,7 +31,7 @@ module.exports = {
|
|||||||
option.setName("game")
|
option.setName("game")
|
||||||
.setDescription("Select the maptest game")
|
.setDescription("Select the maptest game")
|
||||||
.setRequired(true)
|
.setRequired(true)
|
||||||
.addChoices({name: "bhop", value: "bhop"}, {name: "surf", value: "surf"}, {name: "deathrun", value: "deathrun"}))
|
.addChoices(commands))
|
||||||
,
|
,
|
||||||
execute
|
execute
|
||||||
};
|
};
|
||||||
|
@ -3,6 +3,7 @@ const { parse } = require("csv-parse/sync");
|
|||||||
const fs = require('node:fs');
|
const fs = require('node:fs');
|
||||||
const noblox = require("noblox.js");
|
const noblox = require("noblox.js");
|
||||||
const axios = require("axios").default;
|
const axios = require("axios").default;
|
||||||
|
const { submissions, commands } = require("../config/config.js");
|
||||||
|
|
||||||
async function robloxUserFromDiscord(id) {
|
async function robloxUserFromDiscord(id) {
|
||||||
if (isNaN(id)) return undefined;
|
if (isNaN(id)) return undefined;
|
||||||
@ -33,11 +34,8 @@ async function execute(interaction) {
|
|||||||
}
|
}
|
||||||
const game = interaction.options.getString("game");
|
const game = interaction.options.getString("game");
|
||||||
|
|
||||||
let fname;
|
const fname = submissions[game];
|
||||||
if (game === "bhop") fname = "files/bhop_submissions.csv";
|
if (fname === undefined) {
|
||||||
else if (game === "surf") fname = "files/surf_submissions.csv";
|
|
||||||
else if (game === "deathrun") fname = "files/deathrun_submissions.csv";
|
|
||||||
else {
|
|
||||||
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
|
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -97,7 +95,7 @@ module.exports = {
|
|||||||
option.setName("game")
|
option.setName("game")
|
||||||
.setDescription("Select the maptest game")
|
.setDescription("Select the maptest game")
|
||||||
.setRequired(true)
|
.setRequired(true)
|
||||||
.addChoices({name: "bhop", value: "bhop"}, {name: "surf", value: "surf"}, {name: "deathrun", value: "deathrun"}))
|
.addChoices(commands))
|
||||||
.addIntegerOption(option =>
|
.addIntegerOption(option =>
|
||||||
option.setName("asset_id")
|
option.setName("asset_id")
|
||||||
.setDescription("The asset ID of the model")
|
.setDescription("The asset ID of the model")
|
||||||
@ -137,4 +135,4 @@ function getProductInfo (asset) {
|
|||||||
return reject(error);
|
return reject(error);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,11 @@
|
|||||||
const { SlashCommandBuilder } = require('@discordjs/builders');
|
const { SlashCommandBuilder } = require('@discordjs/builders');
|
||||||
const noblox = require("noblox.js");
|
const noblox = require("noblox.js");
|
||||||
const { bhopCookie, surfCookie, deathrunCookie } = require("../config/config.json");
|
const { cookies, commands } = require("../config/config.js");
|
||||||
|
|
||||||
async function execute(interaction) {
|
async function execute(interaction) {
|
||||||
const game = interaction.options.getString("game");
|
const game = interaction.options.getString("game");
|
||||||
let cookie;
|
const cookie = cookies[game];
|
||||||
if (game === "bhop") cookie = bhopCookie;
|
if (cookie === undefined) {
|
||||||
else if (game === "surf") cookie = surfCookie;
|
|
||||||
else if (game === "deathrun") cookie = deathrunCookie;
|
|
||||||
else {
|
|
||||||
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
|
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -59,7 +56,7 @@ module.exports = {
|
|||||||
option.setName("game")
|
option.setName("game")
|
||||||
.setDescription("Select the maptest game")
|
.setDescription("Select the maptest game")
|
||||||
.setRequired(true)
|
.setRequired(true)
|
||||||
.addChoices({name: "bhop", value: "bhop"}, {name: "surf", value: "surf"}, {name: "deathrun", value: "deathrun"}))
|
.addChoices(commands))
|
||||||
.addIntegerOption(option =>
|
.addIntegerOption(option =>
|
||||||
option.setName("asset_id")
|
option.setName("asset_id")
|
||||||
.setDescription("The asset ID of the model")
|
.setDescription("The asset ID of the model")
|
||||||
@ -151,4 +148,4 @@ function getProductInfo (asset) {
|
|||||||
return reject(error);
|
return reject(error);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
1
config/.gitignore
vendored
1
config/.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
*
|
*
|
||||||
|
!config.js
|
||||||
!example_config.json
|
!example_config.json
|
||||||
!.gitignore
|
!.gitignore
|
13
config/config.js
Normal file
13
config/config.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
const { bhopCookie, surfCookie, deathrunCookie } = require("config.json");
|
||||||
|
const cookies = {
|
||||||
|
bhop: bhopCookie,
|
||||||
|
surf: surfCookie,
|
||||||
|
deathrun: deathrunCookie,
|
||||||
|
};
|
||||||
|
const submissions = {};
|
||||||
|
const commands = [];
|
||||||
|
for (const game in cookies) {
|
||||||
|
submissions[game] = "files/" + game + "_submissions.csv";
|
||||||
|
commands.push({name: game, value: game});
|
||||||
|
}
|
||||||
|
export { cookies, submissions, commands };
|
Loading…
Reference in New Issue
Block a user