Table of Contents

Namespace Discord.Interactions

Classes

AutocompleteAttribute

Set the IsAutocomplete to true.

AutocompleteCommandAttribute

Create an Autocomplete Command.

AutocompleteCommandInfo

Represents the info class of an attribute based method for handling Autocomplete Interaction events.

AutocompleteHandler

Base class for creating Autocompleters. InteractionService uses Autocompleters to generate parameter suggestions.

ChannelTypesAttribute

Specify the target channel types for a Channel option.

ChoiceAttribute

Add a pre-determined argument value to a command parameter.

ChoiceDisplayAttribute

Customize the displayed value of a slash command choice enum. Only works with the default enum type converter.

CommandContextTypeAttribute

Specifies context types this command can be executed in.

CommandInfo<TParameter>

The base information class for InteractionService commands.

CommandParameterInfo

Represents the base parameter info class for InteractionService commands.

ComplexParameterAttribute

Registers a parameter as a complex parameter.

ComplexParameterCtorAttribute

Tag a type constructor as the preferred Complex command constructor.

ComponentCommandInfo

Represents the info class of an attribute based method for handling Component Interaction events.

ComponentCommandParameterInfo

Represents the parameter info class for ComponentCommandInfo commands.

ComponentInteractionAttribute

Create a Message Component interaction handler, CustomId represents the CustomId of the Message Component that will be handled.

ComponentTypeConverter

Base class for creating Component TypeConverters. InteractionService uses TypeConverters to interface with Slash Command parameters.

ComponentTypeConverter<T>

Base class for creating Component TypeConverters. InteractionService uses TypeConverters to interface with Slash Command parameters.

ContextCommandAttribute

Base attribute for creating a Context Commands.

ContextCommandInfo

Base information class for attribute based context command handlers.

DefaultMemberPermissionsAttribute

Sets the DefaultMemberPermissions of an application command or module.

DefaultPermissionAttribute

Set the "Default Permission" property of an Application Command.

DoHierarchyCheckAttribute

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

DontAutoRegisterAttribute

InteractionModuleBase<T>s with this attribute will not be registered by the RegisterCommandsGloballyAsync(bool) or RegisterCommandsToGuildAsync(ulong, bool) methods.

EnabledInDmAttribute

Sets the IsEnabledInDm property of an application command or module.

GroupAttribute

Create nested Slash Commands by marking a module as a command group.

HideAttribute

Enum values tagged with this attribute will not be displayed as a parameter choice

IDiscordInteractionExtentions
InputComponentInfo

Represents the base info class for IModal input components.

InputLabelAttribute

Creates a custom label for an modal input.

IntegrationTypeAttribute

Specifies install method for the command.

InteractionContext

Represents the context of an Interaction.

InteractionException
InteractionModuleBase

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

InteractionModuleBase<T>

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

InteractionService

Provides the framework for building and registering Discord Application Commands.

InteractionServiceConfig

Represents a configuration class for InteractionService.

InteractionUtility

Utility class containing helper methods for interacting with Discord Interactions.

JsonLocalizationManager

The default localization provider for Json resource files.

MaxLengthAttribute

Sets the maximum length allowed for a string type parameter.

MaxValueAttribute

Set the maximum value permitted for a number type parameter.

MessageCommandAttribute

Create a Message Context Command.

MessageCommandInfo

Represents the info class of an attribute based method for command type Message.

MinLengthAttribute

Sets the minimum length allowed for a string type parameter.

MinValueAttribute

Set the minimum value permitted for a number type parameter.

ModalCommandInfo

Represents the info class of an attribute based method for handling Modal Interaction events.

ModalCommandParameterInfo

Represents the base parameter info class for InteractionService modals.

ModalInfo

Represents the info class of an IModal form.

ModalInputAttribute

Mark an IModal property as a modal input field.

ModalInteractionAttribute

Create a Modal interaction handler. CustomId represents the CustomId of the Modal that will be handled.

ModalTextInputAttribute

Marks a IModal property as a text input.

ModuleInfo

Contains the information of a Interactions Module.

NsfwCommandAttribute

Sets the IsNsfw property of an application command or module.

ParameterChoice

Represents a Slash Command parameter choice.

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

Represents a result type for grouped command preconditions.

PreconditionResult

Represents a result type for command preconditions.

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.

RequireTeamAttribute

Requires the command to be invoked by a member of the team that owns the bot.

RequireUserPermissionAttribute

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

RequiredInputAttribute

Sets the input as required or optional.

RestInteractionModuleBase<T>

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

ResxLocalizationManager

The default localization provider for Resx files.

RuntimeResult

Represents the base class for creating command result containers.

ShardedInteractionContext

The sharded variant of SocketInteractionContext.

ShardedInteractionContext<TInteraction>

The sharded variant of SocketInteractionContext<TInteraction>.

SlashCommandAttribute

Create an Slash Application Command.

SlashCommandInfo

Represents the info class of an attribute based method for command type Slash.

SlashCommandParameterInfo

Represents the parameter info class for SlashCommandInfo commands.

SocketInteractionContext

Represents a Web-Socket based context of an IDiscordInteraction

SocketInteractionContext<TInteraction>

Represents a Web-Socket based context of an IDiscordInteraction.

SummaryAttribute

Customize the name and description of an Slash Application Command parameter.

TextInputComponentInfo

Represents the InputComponentInfo class for TextInput type.

TypeConverter

Base class for creating TypeConverters. InteractionService uses TypeConverters to interface with Slash Command parameters.

TypeConverter<T>

Base class for creating TypeConverters. InteractionService uses TypeConverters to interface with Slash Command parameters.

TypeReader

Base class for creating TypeConverters. InteractionService uses TypeConverters to interface with Slash Command parameters.

TypeReader<T>

Base class for creating TypeConverters. InteractionService uses TypeConverters to interface with Slash Command parameters.

UserCommandAttribute

Create an User Context Command.

UserCommandInfo

Represents the info class of an attribute based method for command type User.

Structs

AutocompletionResult

Contains the information of a Autocomplete Interaction result.

ExecuteResult

Contains information of the command's overall execution result.

ParseResult
SearchResult<T>

Contains information of a command search.

TypeConverterResult

Represents a result type for ReadAsync(IInteractionContext, IApplicationCommandInteractionDataOption, IServiceProvider).

Interfaces

IApplicationCommandInfo

Represents a InteractionService command that can be registered to Discord.

IAutocompleteHandler

Represent a Autocomplete handler object that can be executed to generate parameter suggestions.

ICommandInfo

Represent a command information object that can be executed.

IInteractionModuleBase

Represents a generic interaction module base.

ILocalizationManager

Represents a localization provider for Discord Application Commands.

IModal

Represents a generic Modal for use with the interaction service.

IParameterInfo

Represents a ICommandInfo parameter.

IResult

Contains information of the result related to a command.

Enums

ContextType

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

InteractionCommandError

Defines the type of error a command can throw.

LocalizationTarget

Resource targets for localization.

RunMode

Specifies the behavior of the command execution workflow.

SlashCommandChoiceType

Supported types of pre-defined parameter choices.

Delegates

ComplexParameterInitializer

Represents a cached argument constructor delegate.

ExecuteCallback

Represents a cached method execution delegate.

ModalInitializer

Represents a cached object initialization delegate.

RestResponseCallback

Represents a cached delegate for creating interaction responses to webhook based Discord Interactions.