import { config as configDotenv } from 'dotenv'; configDotenv(); import commandList from "./commandList"; import { REST, Routes } from 'discord.js'; function registerGlobal(rest: REST, clientId: string, commands: any){ rest.put(Routes.applicationCommands(clientId), { body: commands }) .then(() => { console.log(`Successfully registered ${commands.length} / commands globally. Please wait until 2 hours before they are updated`); }) .catch(console.error); } function registerLocal(rest: REST, clientId: string, commands: any, guilds: string[]){ for (const guildId of guilds) { rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commands }) .then(() => { console.log(`Successfully registered ${commands.length} / commands in guild ${guildId}`); }) .catch(console.error); } } const clientId = process.env.CLIENT_ID; const commands = []; for (let command of commandList) { commands.push(command.data.toJSON()); } const guilds = process.env.GUILD_IDS.trim().split(/[\s,;]+/); const rest = new REST({ version: '10' }).setToken(process.env.TOKEN); if (guilds.length === 0){ registerGlobal(rest, clientId, commands); } else { registerLocal(rest, clientId, commands, guilds); }