68 lines
2.0 KiB
JavaScript
68 lines
2.0 KiB
JavaScript
const fs = require("fs");
|
|
const path = require("path");
|
|
const { Routes } = require('discord.js');
|
|
const { REST } = require('@discordjs/rest');
|
|
|
|
/**
|
|
* Register slash commands for a guild
|
|
* @param {require("../structures/DayzRBot")} client
|
|
*/
|
|
module.exports = {
|
|
// Register guild commands
|
|
RegisterGuildCommands: async (client, guild) => {
|
|
const commands = [];
|
|
const commandFiles = fs.readdirSync(path.join(__dirname, "..", "commands")).filter(file => file.endsWith('.js'));
|
|
|
|
// Place your client and guild ids here
|
|
const clientId = client.application.id;
|
|
const guildId = guild;
|
|
|
|
for (const file of commandFiles) {
|
|
const command = require(`../commands/${file}`);
|
|
if (!command.global) commands.push(command); // don't include global commands
|
|
}
|
|
|
|
const rest = new REST({ version: '10' }).setToken(client.config.Token);
|
|
|
|
try {
|
|
client.log(`[${guildId}] Started refreshing guild (/) commands.`);
|
|
|
|
await rest.put(
|
|
Routes.applicationGuildCommands(clientId, guildId),
|
|
{ body: commands },
|
|
);
|
|
|
|
client.log(`[${guildId}] Successfully reloaded guild (/) commands.`);
|
|
} catch (error) {
|
|
client.error(error);
|
|
}
|
|
},
|
|
|
|
// Register global commands
|
|
RegisterGlobalCommands: async (client) => {
|
|
const commands = [];
|
|
const commandFiles = fs.readdirSync(path.join(__dirname, "..", "commands")).filter(file => file.endsWith('.js'));
|
|
|
|
const clientId = client.application.id;
|
|
|
|
for (const file of commandFiles) {
|
|
const command = require(`../commands/${file}`);
|
|
if (command.global) commands.push(command);
|
|
}
|
|
|
|
const rest = new REST({ version: '10' }).setToken(client.config.Token);
|
|
|
|
try {
|
|
client.log('[global] Started refreshing global (/) commands.');
|
|
|
|
await rest.put(
|
|
Routes.applicationCommands(clientId),
|
|
{ body: commands },
|
|
);
|
|
|
|
client.log('[global] Successfully reloaded global (/) commands.');
|
|
} catch (error) {
|
|
client.error(error);
|
|
}
|
|
}
|
|
}; |