AppCommandHandler
AppCommandHandler
Handles application commands for CommandKit, including loading, registration, and execution. Manages both slash commands and message commands with middleware support.
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
Command runner instance for executing commands.
externalCommandData
External command data storage.
externalMiddlewareData
External middleware data storage.
constructor
(commandkit: CommandKit) => AppCommandHandler
Creates a new AppCommandHandler instance.
printBanner
() =>
Prints a formatted banner showing all loaded commands organized by category.
getCommandsArray
() =>
Gets an array of all loaded commands.
registerCommandHandler
() =>
Registers event handlers for Discord interactions and messages.
prepareCommandRun
(source: Interaction | Message, cmdName?: string) => Promise<PreparedAppCommandExecution | null>
Prepares a command for execution by resolving the command and its middleware.
reloadCommands
() =>
Reloads all commands and middleware from scratch.
addExternalMiddleware
(data: Middleware[]) =>
Adds external middleware data to be loaded.
addExternalCommands
(data: Command[]) =>
Adds external command data to be loaded.
registerExternalLoadedMiddleware
(data: LoadedMiddleware[]) =>
Registers externally loaded middleware.
registerExternalLoadedCommands
(data: LoadedCommand[]) =>
Registers externally loaded commands.
loadCommands
() =>
Loads all commands and middleware from the router.