Skip to main content

Class: InteractionOptionResolver

Utility class for resolving command interaction options while working with the raw API. Based on https://github.com/discordjs/discord.js/blob/main/packages/discord.js/src/structures/CommandInteractionOptionResolver.js

Constructors​

new InteractionOptionResolver()​

new InteractionOptionResolver(interaction: APIApplicationCommandInteraction | APIApplicationCommandAutocompleteInteraction | APIModalSubmitInteraction): InteractionOptionResolver

Parameters​

ParameterType
interactionAPIApplicationCommandInteraction | APIApplicationCommandAutocompleteInteraction | APIModalSubmitInteraction

Returns​

InteractionOptionResolver

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:61

Properties​

data​

private readonly data: null | APIApplicationCommandInteractionDataOption[] = null

The interaction options array

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:34


group​

private readonly group: null | string = null

The name of the subcommand group

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:54


hoistedOptions​

private readonly hoistedOptions: null | APIApplicationCommandInteractionDataOption[] = null

Bottom-level options for the interaction If there is a subcommand (or subcommand and group), this represents the options for the subcommand.

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:49


interaction​

private readonly interaction: APIApplicationCommandInteraction | APIApplicationCommandAutocompleteInteraction | APIModalSubmitInteraction

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:29


resolved​

private readonly resolved: null | APIInteractionDataResolved | APIUserInteractionDataResolved | APIMessageApplicationCommandInteractionDataResolved = null

The interaction resolved data

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:39


subcommand​

private readonly subcommand: null | string = null

The name of the subcommand

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:59

Methods​

get()​

get<Required>(name: string, required?: Required): If<Required, APIApplicationCommandInteractionDataOption, null | APIApplicationCommandInteractionDataOption>

Gets an option by its name

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
namestringThe name of the option
required?RequiredWhether to throw an error if the option is not found

Returns​

If<Required, APIApplicationCommandInteractionDataOption, null | APIApplicationCommandInteractionDataOption>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:88


getAttachment()​

getAttachment<Required>(name: string, required?: Required): If<Required, APIAttachment, null | APIAttachment>

Gets an attachment option

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
namestringThe name of the option
required?RequiredWhether to throw an error if the option is not found

Returns​

If<Required, APIAttachment, null | APIAttachment>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:227


getBoolean()​

getBoolean<Required>(name: string, required?: Required): If<Required, boolean, null | boolean>

Gets a boolean option

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
namestringThe name of the option
required?RequiredWhether to throw an error if the option is not found

Returns​

If<Required, boolean, null | boolean>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:134


getChannel()​

getChannel<Required>(name: string, required?: Required): If<Required, APIInteractionDataResolvedChannel, null | APIInteractionDataResolvedChannel>

Gets a channel option

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
namestringThe name of the option
required?RequiredWhether to throw an error if the option is not found

Returns​

If<Required, APIInteractionDataResolvedChannel, null | APIInteractionDataResolvedChannel>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:145


getFocusedOption()​

getFocusedOption(): object | object | object

Gets the focused option for an autocomplete interaction

Returns​

object | object | object

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:309


getInteger()​

getInteger<Required>(name: string, required?: Required): If<Required, number, null | number>

Gets an integer option

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
namestringThe name of the option
required?RequiredWhether to throw an error if the option is not found

Returns​

If<Required, number, null | number>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:168


getMember()​

getMember<Required>(name: string, required?: Required): If<Required, APIInteractionDataResolvedGuildMember, null | APIInteractionDataResolvedGuildMember>

Gets a member option

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
namestringThe name of the option
required?RequiredWhether to throw an error if the option is not found

Returns​

If<Required, APIInteractionDataResolvedGuildMember, null | APIInteractionDataResolvedGuildMember>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:201


getMentionable()​

getMentionable<Required>(name: string, required?: Required): If<Required, APIRole | APIUser | APIInteractionDataResolvedGuildMember, null | APIRole | APIUser | APIInteractionDataResolvedGuildMember>

Gets a mentionable option

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
namestringThe name of the option
required?RequiredWhether to throw an error if the option is not found

Returns​

If<Required, APIRole | APIUser | APIInteractionDataResolvedGuildMember, null | APIRole | APIUser | APIInteractionDataResolvedGuildMember>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:238


getNumber()​

getNumber<Required>(name: string, required?: Required): If<Required, number, null | number>

Gets a number option

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
namestringThe name of the option
required?RequiredWhether to throw an error if the option is not found

Returns​

If<Required, number, null | number>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:179


getRole()​

getRole<Required>(name: string, required?: Required): If<Required, APIRole, null | APIRole>

Gets a role option

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
namestringThe name of the option
required?RequiredWhether to throw an error if the option is not found

Returns​

If<Required, APIRole, null | APIRole>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:216


getString()​

getString<Required>(name: string, required?: Required): If<Required, string, null | string>

Gets a string option

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
namestringThe name of the option
required?RequiredWhether to throw an error if the option is not found

Returns​

If<Required, string, null | string>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:157


getSubcommand()​

getSubcommand<Required>(required?: Required): If<Required, string, null | string>

Gets the selected subcommand

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
required?RequiredWhether to throw an error if there is no subcommand

Returns​

If<Required, string, null | string>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:107


getSubcommandGroup()​

getSubcommandGroup<Required>(required?: Required): If<Required, string, null | string>

Gets the selected subcommand group

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
required?RequiredWhether to throw an error if there is no subcommand group

Returns​

If<Required, string, null | string>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:120


getTargetMember()​

getTargetMember<Required>(required?: Required): If<Required, APIInteractionDataResolvedGuildMember, null | APIInteractionDataResolvedGuildMember>

Gets the target member for a context menu interaction

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
required?RequiredWhether to throw an error if the member data is not present

Returns​

If<Required, APIInteractionDataResolvedGuildMember, null | APIInteractionDataResolvedGuildMember>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:280


getTargetMessage()​

getTargetMessage(): APIMessage

Gets the target message for a context menu interaction

Returns​

APIMessage

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:298


getTargetUser()​

getTargetUser(): APIUser

Gets the target user for a context menu interaction

Returns​

APIUser

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:268


getTypedOption()​

private getTypedOption<Option, Required>(name: string, type: Option, required: Required): If<Required, TypeToOptionMap[Option], null | TypeToOptionMap[Option]>

Type Parameters​

Type ParameterDefault type
Option extends String | Integer | Boolean | User | Channel | Role | Mentionable | Number | Attachment-
Required extends booleanfalse

Parameters​

ParameterType
namestring
typeOption
requiredRequired

Returns​

If<Required, TypeToOptionMap[Option], null | TypeToOptionMap[Option]>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:330


getUser()​

getUser<Required>(name: string, required?: Required): If<Required, APIUser, null | APIUser>

Gets a user option

Type Parameters​

Type ParameterDefault type
Required extends booleanfalse

Parameters​

ParameterTypeDescription
namestringThe name of the option
required?RequiredWhether to throw an error if the option is not found

Returns​

If<Required, APIUser, null | APIUser>

Defined in​

projects/utilities/packages/discord-utilities/src/lib/InteractionOptionResolver.ts:190