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