import { REST, Routes } from "discord.js" import { Cmd } from "../types/cmd" import { requireDirectory } from "../handler/requireDirectory" const TOKEN = process.env.TOKEN const CLIENTID = process.env.CLIENTID if (!TOKEN || !CLIENTID) { console.error("Missing TOKEN or CLIENTID in .env file") process.exit(1) } const excludeFiles = ["index"] export const execCmds = new Map() requireDirectory( __dirname, ({ data, exec }: Cmd, filename) => { if (!data || !exec) throw new Error(`Command ${data.name} is missing data or execute function.`) if (!data.name) data.setName(filename) execCmds.set(data.name, { data, exec }) }, excludeFiles ) const rest = new REST({ version: "10" }).setToken(TOKEN) rest.put(Routes.applicationCommands(CLIENTID), { body: Array.from(execCmds.values()).map(({ data }) => data.toJSON()), })