ChatCommand class Null safety

Represents a Discord Slash Command.

ChatCommands are commands with arguments. They can be invoked in two ways: through an interaction or through a text message sent by a user. In both cases, the arguments received from the Discord API are parsed using Converters to the type that your command expects.

For example, a simple command that responds with "Hi there!":

ChatCommand test = ChatCommand(
  'test',
  'A test command',
  (IChatContext context) async {
    context.respond(MessageBuilder.content('Hi there!'));
  },
);

commands.addCommand(test);

You might also be interested in:

Implemented types

Constructors

ChatCommand(String name, String description, Function execute, {List<String> aliases = const [], CommandType type = CommandType.def, Iterable<IChatCommandComponent> children = const [], Iterable<AbstractCheck> checks = const [], Iterable<AbstractCheck> singleChecks = const [], CommandOptions options = const CommandOptions(), Map<Locale, String>? localizedNames, Map<Locale, String>? localizedDescriptions})
Create a new ChatCommand.
ChatCommand.slashOnly(String name, String description, Function execute, {List<String> aliases = const [], Iterable<IChatCommandComponent> children = const [], Iterable<AbstractCheck> checks = const [], Iterable<AbstractCheck> singleChecks = const [], CommandOptions options = const CommandOptions(), Map<Locale, String>? localizedNames, Map<Locale, String>? localizedDescriptions})
Create a new ChatCommand with type CommandType.slashOnly.
ChatCommand.textOnly(String name, String description, Function execute, {List<String> aliases = const [], Iterable<IChatCommandComponent> children = const [], Iterable<AbstractCheck> checks = const [], Iterable<AbstractCheck> singleChecks = const [], CommandOptions options = const CommandOptions()})
Create a new ChatCommand with type CommandType.textOnly.

Properties

aliases Iterable<String>
The aliases for this entity.
final
argumentTypes List<Type>
The types of the required and positional arguments of execute, in the order they appear.
final
checks Iterable<AbstractCheck>
The checks that should be applied to this entity.
read-only, inherited
children Iterable<IChatCommandComponent>
A list of all the children of this group
read-only, inherited
description String
The description of this entity.
final
execute Function
The function called to execute this command.
final
fullName String
The full name of this command.
read-only, inherited
hashCode int
The hash code for this object.
read-only, inherited
hasSlashCommand bool
Whether this entity has a child entity that is a slash command or has a slash command itself.
read-only, inherited
localizedDescriptions Map<Locale, String>?
The localized descriptions of this entity.
final
localizedNames Map<Locale, String>?
The localized names of this child. Since you cannot add descriptions to UserCommand and MessageCommand, can't set localized descriptions too.
final
name String
The name of this child.
final
onPostCall Stream<IChatContext>
A stream that emits contexts after the command callback is executed.
late, final, inherited
onPreCall Stream<IChatContext>
A stream that emits contexts before the command callback is executed.
late, final, inherited
options CommandOptions
The options to use for this entity.
final
parent ICommandGroup<IContext>?
The parent of this child.
read / write, inherited
resolvedOptions CommandOptions
Get the resolvec options for this child.
read-only, inherited
resolvedType CommandType
The resolved type of this ChatCommand.
read-only
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
singleChecks List<AbstractCheck>
A list of checks that apply only to this command.
final
type CommandType
The type of this ChatCommand.
final

Methods

addCommand(ICommandRegisterable<IChatContext> command) → void
Add a command to this group.
override
check(AbstractCheck check) → void
Add a check to this entity.
inherited
getCommand(StringView view) ChatCommand?
Attempt to get a command from a string.
inherited
getOptions(CommandsPlugin commands) Iterable<CommandOptionBuilder>
Return the CommandOptionBuilders that represent this entity for slash command registration.
override
invoke(IContext context) Future<void>
Parse arguments, verify checks, call execute and handle call hooks.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
inherited
singleCheck(AbstractCheck check) → void
Add a check to this command that does not apply to this commands children.
toString() String
A string representation of this object.
override
walkCommands() Iterable<ChatCommand>
Returns an iterable that recursively iterates over all the ICommands in this group.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited