Compare commits

..

2 Commits

Author SHA1 Message Date
5681e21fbe add flytrials 2023-03-08 12:42:40 -08:00
0853602afb use dictionary instead of hardcoded if-else for each game 2023-03-08 12:42:40 -08:00
6 changed files with 42 additions and 32 deletions

View File

@ -1,12 +1,21 @@
const { SlashCommandBuilder } = require('@discordjs/builders');
const { MessageAttachment } = require("discord.js");
const fs = require('node:fs');
const { submissions, commands } = require("../config/config.js")
const gameDict = {
bhop: "files/bhop_submissions.csv",
surf: "files/surf_submissions.csv",
deathrun: "files/deathrun_submissions.csv",
flytrials: "files/flytrials_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");
const fname = submissions[game];
let fname = gameDict[game];
if (fname === undefined) {
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
return;
@ -31,7 +40,7 @@ module.exports = {
option.setName("game")
.setDescription("Select the maptest game")
.setRequired(true)
.addChoices(commands))
.addChoices(commandChoices))
,
execute
};
};

View File

@ -3,7 +3,16 @@ const { parse } = require("csv-parse/sync");
const fs = require('node:fs');
const noblox = require("noblox.js");
const axios = require("axios").default;
const { submissions, commands } = require("../config/config.js")
const gameDict = {
bhop: "files/bhop_submissions.csv",
surf: "files/surf_submissions.csv",
deathrun: "files/deathrun_submissions.csv",
flytrials: "files/flytrials_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;
@ -34,7 +43,7 @@ async function execute(interaction) {
}
const game = interaction.options.getString("game");
const fname = submissions[game];
let fname = gameDict[game];
if (fname === undefined) {
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
return;
@ -95,7 +104,7 @@ module.exports = {
option.setName("game")
.setDescription("Select the maptest game")
.setRequired(true)
.addChoices(commands))
.addChoices(commandChoices))
.addIntegerOption(option =>
option.setName("asset_id")
.setDescription("The asset ID of the model")
@ -135,4 +144,4 @@ function getProductInfo (asset) {
return reject(error);
}
})
}
}

View File

@ -1,10 +1,20 @@
const { SlashCommandBuilder } = require('@discordjs/builders');
const noblox = require("noblox.js");
const { cookies, commands } = require("../config/config.js")
const { bhopCookie, surfCookie, deathrunCookie, flytrialsCookie } = require("../config/config.json");
const cookieDict = {
bhop: bhopCookie,
surf: surfCookie,
deathrun: deathrunCookie,
flytrials: flytrialsCookie,
};
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");
const cookie = cookies[game];
let cookie = cookieDict[game];
if (cookie === undefined) {
await interaction.reply({content: "Invalid game specified!", ephemeral: true});
return;
@ -56,7 +66,7 @@ module.exports = {
option.setName("game")
.setDescription("Select the maptest game")
.setRequired(true)
.addChoices(commands))
.addChoices(commandChoices))
.addIntegerOption(option =>
option.setName("asset_id")
.setDescription("The asset ID of the model")
@ -148,4 +158,4 @@ function getProductInfo (asset) {
return reject(error);
}
})
}
}

1
config/.gitignore vendored
View File

@ -1,4 +1,3 @@
*
!config.js
!example_config.json
!.gitignore

View File

@ -1,18 +0,0 @@
const { bhopCookie, surfCookie, deathrunCookie, flytrialsCookie } = require("config.json");
const cookies = {
bhop: bhopCookie,
surf: surfCookie,
deathrun: deathrunCookie,
flytrials: flytrialsCookie,
};
const submissions = {
bhop: "files/bhop_submissions.csv",
surf: "files/surf_submissions.csv",
deathrun: "files/deathrun_submissions.csv",
flytrials: "files/flytrials_submissions.csv",
};
const commands = [];
for (const game of Object.keys(submissions)) {
commands.push({name: game, value: game})
}
export { submissions, cookies, commands }

View File

@ -3,5 +3,6 @@
"clientId": "",
"bhopCookie": "",
"surfCookie": "",
"deathrunCookie": ""
"deathrunCookie": "",
"flytrialsCookie": ""
}