Command framework for building Discord bots with discord.js, allowing chat and slash commands to run through one handler.
APACHE-2.0 License
Bot releases are visible (Hide)
handleUncaughtEventHandlerError
function to the PandaDiscordBot
interface.Published by jackson-nestelroad 10 months ago
Published by jackson-nestelroad over 1 year ago
Published by jackson-nestelroad over 1 year ago
strictNullChecks
.Published by jackson-nestelroad almost 2 years ago
Published by jackson-nestelroad almost 2 years ago
BaseHelpService
autocomplete.Published by jackson-nestelroad almost 2 years ago
TimeoutService
.execute
, executeChat
, and executeSlash
methods indicating if the command was actually run or not due to failed preconditions, such as permission validation or command cooldown.Published by jackson-nestelroad almost 2 years ago
BaseCommand
to BaseChatInputCommand
for representing all chat input commands, which can still be run as chat or slash commands.BaseCommand
class (replaces the old one) that represents any command that can be run from the Discord bot.MessageContextMenuCommand
, UserContextMenuCommand
, and GuildMemberContextMenuCommand
. All of these derive from BaseContextMenuCommand
.ParamaterizedCommand.contextMenu
for attaching context menu commands to a chat input command. These are automatically created and attached to the bot when the command map is built.EnabledCommandType.ContextMenu
for enabling context menu commands.EnabledCommandType.Application
for enabling all application commands (currently slash and context menu commands).PandaDiscordBot.createAndEnableSlashCommands
and PandaDiscordBot.deleteAllSlashCommands
to PandaDiscordBot.createAndEnableApplicationCommands
and PandaDiscordBot.deleteAllApplicationCommands
respectively. Commands are deleted based on the enabled command type given when the bot is created.PandaDiscordBot.contextMenuCommands
for holding all context menu commands, accessible by name.BaseChatInputCommand.isParameterized()
for type checking if a command accepts arguments.BaseChatInputCommand.isNested
into a function, similar to isParameterized()
, for type checking if a command is nested.BaseChatInputCommand.slashGuildId
to BaseCommand.guildId
.ParamaterizedCommand.parseArguments
for manually parsing arguments. Useful for context menu commands, where some arguments are given to the command after it has already started running.execute
methods, rather than relying on callers to check them.MessageCommandSource
, InteractionCommandSource
, and MockCommandSource
for better typing of command sources given to command handlers and internal parsers.CommandInteractionCommandSource
for command sources that are known to have a command interaction (slash or context menu) inside of them.Published by jackson-nestelroad almost 2 years ago
PandaDiscordBot.getPrefix
to always be synchronous.Published by jackson-nestelroad almost 2 years ago
helpService
member of the bot class. Queries are matched and handled by help handlers, which can be created by framework users. DefaultHelpService
is provided for default (legacy) behavior.runHelpNamedArg
option allows users to get help for a command by specifying a named argument, such as --help
, when running the command.Published by jackson-nestelroad about 2 years ago
Published by jackson-nestelroad about 2 years ago
MockCommandSourceBase
for creating fake command sources with custom functionality.Published by jackson-nestelroad about 2 years ago
Warning
embed template.Event
type.Published by jackson-nestelroad about 2 years ago
Published by jackson-nestelroad about 2 years ago
EnabledCommandType.Chat
to EnabledCommandType.Message
for consistency.PandaDiscordBot.sendErrorsToInteraction
for working with non-command interactions.Published by jackson-nestelroad about 2 years ago
Published by jackson-nestelroad over 2 years ago
Update to discord.js/13.8.0.
Published by jackson-nestelroad almost 3 years ago
Published by jackson-nestelroad almost 3 years ago
Published by jackson-nestelroad almost 3 years ago
--
) to stop argument parsing early.