summaryrefslogtreecommitdiff
path: root/regcmd.js
diff options
context:
space:
mode:
Diffstat (limited to 'regcmd.js')
-rw-r--r--regcmd.js53
1 files changed, 53 insertions, 0 deletions
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