Files
DiscordBOT/src/cmd/index.ts
2025-10-20 23:56:33 +07:00

31 lines
847 B
TypeScript

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<string, Cmd>()
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()),
})