-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeploy-commands.js
28 lines (22 loc) · 956 Bytes
/
deploy-commands.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const fs = require("node:fs");
const path = require("node:path");
const { REST } = require("@discordjs/rest");
const { Routes } = require("discord-api-types/v9");
const { clientId, guilds, token } = require("./config.json");
// Create collection of commands from folder
const commands = [];
const commandsPath = path.join(__dirname, "commands");
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);
commands.push(command.data.toJSON());
}
// Register the commands
const rest = new REST({ version: "9" }).setToken(token);
for (let [guildId, guild] of Object.entries(guilds)) {
rest
.put(Routes.applicationGuildCommands(clientId, guildId), { body: commands })
.then(() => console.log(`Successfully registered application commands for ${guild.name}.`))
.catch(console.error);
}