slash commands integrated

* sample env and late version incr

* added slash command compatibility

* updated command name

* updated environment sample

* updated interaction comment
This commit is contained in:
Kevin Dang
2024-01-31 10:25:45 -08:00
committed by Kevin Dang
parent b94ff55449
commit 89c19990fa
16 changed files with 311 additions and 192 deletions

22
src/utils/commands.ts Normal file
View File

@@ -0,0 +1,22 @@
import { CommandInteraction, ChatInputApplicationCommandData, Client } from 'discord.js'
/**
* interface for how slash commands should be run
*/
export interface SlashCommand extends ChatInputApplicationCommandData {
run: (client: Client, interaction: CommandInteraction) => void
}
/**
* register the command to discord for the channel
* @param client the bot reference
* @param commands commands to register to the bot
*/
export function registerCommands(client: Client, commands: SlashCommand[]): void {
// ensure the bot is online before registering
if (!client.application) return
// iterate through all commands and register them with the bot
for (const command of commands)
client.application.commands.create(command)
}