68 lines
2.2 KiB
JavaScript
68 lines
2.2 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);
|
|
}
|
|
}
|
|
}; |