mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-02 17:00:08 +00:00
* Update docs for desired properties * Update examples to use createBot desiredProperties The BigBot and reaction roles examples use the Discordeno CLI * Migrate examples to v19 stable * Docs work
28 lines
789 B
TypeScript
28 lines
789 B
TypeScript
import { type ApplicationCommandOption, type ApplicationCommandTypes, Collection } from '@discordeno/bot'
|
|
import type { bot } from './bot.js'
|
|
|
|
export const commands = new Collection<string, Command>()
|
|
|
|
export function createCommand(command: Command): void {
|
|
commands.set(command.name, command)
|
|
}
|
|
|
|
export interface Command {
|
|
name: string
|
|
description: string
|
|
usage?: string[]
|
|
options?: ApplicationCommandOption[]
|
|
type: ApplicationCommandTypes
|
|
/** Defaults to `Guild` */
|
|
scope?: 'Global' | 'Guild'
|
|
execute: (interaction: typeof bot.transformers.$inferredTypes.interaction) => unknown
|
|
subcommands?: Array<SubCommandGroup | SubCommand>
|
|
}
|
|
|
|
export type SubCommand = Omit<Command, 'subcommands'>
|
|
|
|
export interface SubCommandGroup {
|
|
name: string
|
|
subCommands: SubCommand[]
|
|
}
|