Table of Contents

Namespace Discord.Commands

Classes

AliasAttribute

Marks the aliases for a command.

ChannelTypeReader<T>

A TypeReader for parsing objects implementing IChannel.

CommandAttribute

Marks the execution information for a command.

CommandContext

The context of a command which may contain the client, user, guild, channel, and message.

CommandException

The exception that is thrown if another exception occurs during a command execution.

CommandInfo

Provides the information of a command.

CommandService

Provides a framework for building Discord commands.

CommandServiceConfig

Represents a configuration class for CommandService.

CommandServiceExtensions

Provides extension methods for the CommandService class.

DoHierarchyCheckAttribute

Ensures that command parameters are passed within a correct hierarchical context.

DontAutoLoadAttribute

Prevents the marked module from being loaded automatically.

DontInjectAttribute

Prevents the marked property from being injected into a module.

GroupAttribute

Marks the module as a command group.

IEnumerableExtensions
MatchResult
MessageExtensions

Provides extension methods for IUserMessage that relates to commands.

MessageTypeReader<T>

A TypeReader for parsing objects implementing IMessage.

ModuleBase

Provides a base class for a command module to inherit from.

ModuleBase<T>

Provides a base class for a command module to inherit from.

ModuleInfo

Provides the information of a module.

NameAttribute

Marks the public name of a command, module, or parameter.

NamedArgumentTypeAttribute

Instructs the command system to treat command parameters of this type as a collection of named arguments matching to its properties.

OverrideTypeReaderAttribute

Marks the Type to be read by the specified TypeReader.

ParameterInfo

Provides the information of a parameter.

ParameterPreconditionAttribute

Requires the parameter to pass the specified precondition before execution can begin.

PreconditionAttribute

Requires the module or class to pass the specified precondition before execution can begin.

PreconditionGroupResult
PreconditionResult

Represents a result type for command preconditions.

PriorityAttribute

Sets priority of commands.

RemainderAttribute

Marks the input to not be parsed by the parser.

RemarksAttribute

Attaches remarks to your commands.

RequireBotPermissionAttribute

Requires the bot to have a specific permission in the channel a command is invoked in.

RequireContextAttribute

Requires the command to be invoked in a specified context (e.g. in guild, DM).

RequireNsfwAttribute

Requires the command to be invoked in a channel marked NSFW.

RequireOwnerAttribute

Requires the command to be invoked by the owner of the bot.

RequireRoleAttribute

Requires the user invoking the command to have a specified role.

RequireUserPermissionAttribute

Requires the user invoking the command to have a specified permission.

RoleTypeReader<T>

A TypeReader for parsing objects implementing IRole.

RuntimeResult
ShardedCommandContext

The sharded variant of ICommandContext, which may contain the client, user, guild, channel, and message.

SocketCommandContext

Represents a WebSocket-based context of a command. This may include the client, guild, channel, user, and message.

SummaryAttribute

Attaches a summary to your command.

TypeReader

Defines a reader class that parses user input into a specified type.

UserTypeReader<T>

A TypeReader for parsing objects implementing IUser.

Structs

CommandMatch
ExecuteResult

Contains information of the command's overall execution result.

ParseResult

Contains information for the parsing result from the command service's parser.

SearchResult
TypeReaderResult
TypeReaderValue

Interfaces

ICommandContext

Represents a context of a command. This may include the client, guild, channel, user, and message.

IModuleBase

Represents a generic module base.

IResult

Contains information of the result related to a command.

Enums

CommandError

Defines the type of error a command can throw.

ContextType

Defines the type of command context (i.e. where the command is being executed).

MultiMatchHandling

Specifies the behavior when multiple matches are found during the command parsing stage.

RunMode

Specifies the behavior of the command execution workflow.