Update 2.0 | Replaced with SlashCommands | Subscribe, Unscubscribe, List, Info

This commit is contained in:
DeSqBlocki
2024-12-20 23:56:37 +01:00
parent 8c9eea25c0
commit 1b5d1834a6
9 changed files with 873 additions and 373 deletions
+48
View File
@@ -0,0 +1,48 @@
const { REST, Routes } = require('discord.js');
const { configDotenv } = require('dotenv');
configDotenv
const fs = require('node:fs');
const path = require('node:path');
const { dClient } = require('../index');
const commands = [];
// Grab all the command folders 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 commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js'));
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());
dClient.commands.set(command.data.name, command);
} 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(process.env.DISCORD_Token);
// and deploy your commands!
(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(process.env.DISCORD_ID),
{ 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);
}
})();
+18
View File
@@ -0,0 +1,18 @@
const fs = require('node:fs')
const path = require('node:path')
const { dClient } = require('../index')
const eventsPath = path.join(__dirname, '../events')
const eventFiles = fs.readdirSync(eventsPath).filter(file => file.endsWith('.js'))
for (const file of eventFiles) {
const filePath = path.join(eventsPath, file)
const event = require(filePath)
if (event.once) {
dClient.once(event.name, (...args) => event.execute(...args, dClient))
// added dClient to commomerate global usage
} else {
dClient.on(event.name, (...args) => event.execute(...args, dClient))
// added dClient to commomerate global usage
}
}