|
|
@ -9,16 +9,20 @@ const { clientId, guildId, token } = process.env;
|
|
|
|
|
|
|
|
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
|
|
const __dirname = path.dirname(__filename);
|
|
|
|
const __dirname = path.dirname(__filename);
|
|
|
|
|
|
|
|
|
|
|
|
const commands = [];
|
|
|
|
const commands = [];
|
|
|
|
|
|
|
|
|
|
|
|
const categoryPath = fs.readdirSync(`${__dirname}/../commands`);
|
|
|
|
const categoryPath = fs.readdirSync(`${__dirname}/../commands`);
|
|
|
|
categoryPath.forEach(category => {
|
|
|
|
for (let i = 0; i < categoryPath.length; i++) {
|
|
|
|
loadCommandFromDir(category);
|
|
|
|
const commandsPath = path.join(`${__dirname}/../commands`, categoryPath[i]);
|
|
|
|
});
|
|
|
|
const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js'));
|
|
|
|
commands.map(command => command.toJSON());
|
|
|
|
for (const file of commandFiles) {
|
|
|
|
|
|
|
|
const filePath = path.join(commandsPath, file);
|
|
|
|
|
|
|
|
const command = await import(filePath);
|
|
|
|
|
|
|
|
commands.push(command.default.data.toJSON());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const rest = new REST({ version: '9' }).setToken(token);
|
|
|
|
const rest = new REST({ version: '9' }).setToken(token);
|
|
|
|
|
|
|
|
|
|
|
|
if (process.argv[2] === 'global') {
|
|
|
|
if (process.argv[2] === 'global') {
|
|
|
|
rest.put(Routes.applicationCommands(clientId), { body: commands })
|
|
|
|
rest.put(Routes.applicationCommands(clientId), { body: commands })
|
|
|
|
.then(() => console.log('Successfully registered application commands globally.'))
|
|
|
|
.then(() => console.log('Successfully registered application commands globally.'))
|
|
|
@ -33,15 +37,3 @@ else if (process.argv[2] === 'delete') {
|
|
|
|
rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commands })
|
|
|
|
rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commands })
|
|
|
|
.then(() => console.log(`Successfully registered application commands for the guild ${guildId}.`))
|
|
|
|
.then(() => console.log(`Successfully registered application commands for the guild ${guildId}.`))
|
|
|
|
.catch(console.error);
|
|
|
|
.catch(console.error);
|
|
|
|
|
|
|
|
|
|
|
|
async function loadCommandFromDir(dir) {
|
|
|
|
|
|
|
|
const commandsPath = path.join(`${__dirname}/../commands`, dir);
|
|
|
|
|
|
|
|
const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js'));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (const file of commandFiles) {
|
|
|
|
|
|
|
|
const filePath = path.join(commandsPath, file);
|
|
|
|
|
|
|
|
let command = await import(filePath);
|
|
|
|
|
|
|
|
command = command.default;
|
|
|
|
|
|
|
|
commands.push(command.data);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|