import { HOT_COMMAND, NSFW_COMMAND, ROLEPLAY_COMMAND, TOP_COMMAND, COMPLAIN_COMMAND, APPEAL_COMMAND, COLOURS_COMMAND, ROLEPLAY_VERIFY_COMMAND, TOGGLE_PRIVILEGED_ACCESS_COMMAND, ROLE_COMMAND, type DiscordCommand, } from "./discord/commands"; import dotenv from "dotenv"; import process from "node:process"; dotenv.config({ path: ".dev.vars" }); const token = process.env.DISCORD_TOKEN; const applicationID = process.env.DISCORD_APPLICATION_ID; if (!token) throw new Error("The DISCORD_TOKEN environment variable is required."); if (!applicationID) throw new Error( "The DISCORD_APPLICATION_ID environment variable is required.", ); const url = `https://discord.com/api/v10/applications/${applicationID}/commands`; const commands: DiscordCommand[] = [ HOT_COMMAND, ROLEPLAY_COMMAND, NSFW_COMMAND, TOP_COMMAND, COMPLAIN_COMMAND, APPEAL_COMMAND, COLOURS_COMMAND, ROLEPLAY_VERIFY_COMMAND, TOGGLE_PRIVILEGED_ACCESS_COMMAND, ROLE_COMMAND, ]; const response = await fetch(url, { headers: { "Content-Type": "application/json", Authorization: `Bot ${token}`, }, method: "PUT", body: JSON.stringify(commands), }); if (response.ok) { console.log("Registered all commands"); const data = await response.json(); console.log(JSON.stringify(data, null, 2)); } else { console.error("Error registering commands"); let errorText = `Error registering commands \n ${response.url}: ${response.status} ${response.statusText}`; try { const error = await response.text(); if (error) errorText = `${errorText} \n\n ${error}`; } catch (error) { console.error("Error reading body from request:", error); } console.error(errorText); }