Skip to main content
Version: Next

AppCommandHandler

AppCommandHandler

Handles application commands for CommandKit, including loading, registration, and execution. Manages both slash commands and message commands with middleware support.

Signature
class AppCommandHandler {
public readonly registrar: CommandRegistrar;
public readonly commandRunner = new AppCommandRunner(this);
public readonly externalCommandData = new Collection<string, Command>();
public readonly externalMiddlewareData = new Collection<string, Middleware>();
constructor(commandkit: CommandKit)
printBanner() => ;
getCommandsArray() => ;
registerCommandHandler() => ;
prepareCommandRun(source: Interaction | Message, cmdName?: string) => Promise<PreparedAppCommandExecution | null>;
reloadCommands() => ;
addExternalMiddleware(data: Middleware[]) => ;
addExternalCommands(data: Command[]) => ;
registerExternalLoadedMiddleware(data: LoadedMiddleware[]) => ;
registerExternalLoadedCommands(data: LoadedCommand[]) => ;
loadCommands() => ;
}

registrar

Command registrar for handling Discord API registration.

commandRunner

property

Command runner instance for executing commands.

externalCommandData

property

External command data storage.

externalMiddlewareData

property

External middleware data storage.

constructor

method
(commandkit: CommandKit) => AppCommandHandler

Creates a new AppCommandHandler instance.

printBanner

method
() =>

Prints a formatted banner showing all loaded commands organized by category.

getCommandsArray

method
() =>

Gets an array of all loaded commands.

registerCommandHandler

method
() =>

Registers event handlers for Discord interactions and messages.

prepareCommandRun

method
(source: Interaction | Message, cmdName?: string) => Promise<PreparedAppCommandExecution | null>

Prepares a command for execution by resolving the command and its middleware.

reloadCommands

method
() =>

Reloads all commands and middleware from scratch.

addExternalMiddleware

method
(data: Middleware[]) =>

Adds external middleware data to be loaded.

addExternalCommands

method
(data: Command[]) =>

Adds external command data to be loaded.

registerExternalLoadedMiddleware

method
(data: LoadedMiddleware[]) =>

Registers externally loaded middleware.

registerExternalLoadedCommands

method
(data: LoadedCommand[]) =>

Registers externally loaded commands.

loadCommands

method
() =>

Loads all commands and middleware from the router.