From e4450c8417624b71d779cb4f41692538f9165e10 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sat, 2 Sep 2023 19:12:47 -0400 Subject: first commit --- regcmd.js | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 regcmd.js (limited to 'regcmd.js') diff --git a/regcmd.js b/regcmd.js new file mode 100644 index 0000000..7dd4381 --- /dev/null +++ b/regcmd.js @@ -0,0 +1,53 @@ +const { REST, Routes } = require('discord.js'); +const { clientId, token } = require('./config.json'); +const fs = require('node:fs'); +const path = require('node:path'); +global.data = require('./data.js'); + +const commands = []; +// Grab all the command files from the commands directory you created earlier +const foldersPath = path.join(__dirname, 'commands'); +const commandFolders = fs.readdirSync(foldersPath); + +// for (const folder of commandFolders) { + // Grab all the command files from the commands directory you created earlier + // const commandsPath = path.join(foldersPath, folder); + const commandsPath = foldersPath; + const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js')); + // Grab the SlashCommandBuilder#toJSON() output of each command's data for deployment + for (const file of commandFiles) { + const filePath = path.join(commandsPath, file); + const command = require(filePath); + if ('data' in command && 'execute' in command) { + commands.push(command.data.toJSON()); + // console.log(command.data.toJSON()) + } else { + console.log(`[WARNING] The command at ${filePath} is missing a required "data" or "execute" property.`); + } + } +// } + +// Construct and prepare an instance of the REST module +const rest = new REST().setToken(token); + +// and deploy your commands! +// rest.put(Routes.applicationCommands(clientId), { body: [] }) +// .then(() => console.log('Successfully deleted all application commands.')) +// .catch(console.error); + +(async () => { + try { + console.log(`Started refreshing ${commands.length} application (/) commands.`); + + // The put method is used to fully refresh all commands in the guild with the current set + const data = await rest.put( + Routes.applicationCommands(clientId), + { body: commands }, + ); + + console.log(`Successfully reloaded ${data.length} application (/) commands.`); + } catch (error) { + // And of course, make sure you catch and log any errors! + console.error(error); + } +})(); \ No newline at end of file -- cgit v1.2.3