RoleSelectMenuInteraction

export class RoleSelectMenuInteraction<Cached extends CacheType = CacheType,> extends MessageComponentInteraction<Cached>
export class RoleSelectMenuInteraction<Cached extends CacheType = CacheType,> extends MessageComponentInteraction<Cached>
Represents a ComponentType.RoleSelect select menu interaction.
NameConstraintsOptionalDefaultDescription
CachedCacheTypeYesCacheTypeNone
constructor(client, data)
Constructs a new instance of the RoleSelectMenuInteraction class
NameTypeOptionalDescription
clientClient<true>NoNone
dataAPIMessageRoleSelectInteractionDataNoNone
applicationId:Snowflake
The application's id
Inherited from BaseInteraction
Set of permissions the application or bot has within the channel the interaction was sent from
Inherited from BaseInteraction
authorizingIntegrationOwners:APIAuthorizingIntegrationOwnersMap
Mapping of installation contexts that the interaction was authorized for the related user or guild ids
Inherited from BaseInteraction
The channel this interaction was sent in
Inherited from BaseInteraction
channelId:Snowflake
The id of the channel this interaction was sent in
Inherited from MessageComponentInteraction
Readonly
client:Client<true>
The client that instantiated this
Inherited from Base
The type of component which was interacted with
Context where the interaction was triggered from
Inherited from BaseInteraction
Readonly
createdAt:Date
The time the interaction was created at
Inherited from BaseInteraction
Readonly
createdTimestamp:number
The timestamp the interaction was created at
Inherited from BaseInteraction
customId:string
The custom id of the component which was interacted with
Inherited from MessageComponentInteraction
deferred:boolean
Whether the reply to this interaction has been deferred
Inherited from MessageComponentInteraction
The entitlements for the invoking user, representing access to premium SKUs
Inherited from BaseInteraction
ephemeral:boolean | null
Whether the reply to this interaction is ephemeral
Inherited from MessageComponentInteraction
Readonly
guild:CacheTypeReducer<Cached, Guild, null>
The guild this interaction was sent in
Inherited from BaseInteraction
guildId:CacheTypeReducer<Cached, Snowflake>
The id of the guild this interaction was sent in
Inherited from BaseInteraction
guildLocale:CacheTypeReducer<Cached, Locale>
The preferred locale from the guild this interaction was sent in
Inherited from BaseInteraction
The interaction's id
Inherited from BaseInteraction
locale:Locale
The locale of the user who invoked this interaction
Inherited from BaseInteraction
If this interaction was sent in a guild, the member which sent it
Inherited from BaseInteraction
memberPermissions:CacheTypeReducer<Cached, Readonly<PermissionsBitField>>
The permissions of the member, if one exists, in the channel this interaction was executed in
Inherited from BaseInteraction
message:Message<BooleanCache<Cached>>
The message to which the component was attached
Inherited from MessageComponentInteraction
replied:boolean
Whether this interaction has already been replied to
Inherited from MessageComponentInteraction
Collection of the selected roles
Readonly
token:string
The interaction's token
Inherited from BaseInteraction
The interaction's type
Inherited from MessageComponentInteraction
user:User
The user who created this interaction
Inherited from BaseInteraction
values:Snowflake[]
An array of the selected role ids
version:number
The version
Inherited from BaseInteraction
An associated interaction webhook, can be used to further interact with this interaction
Inherited from MessageComponentInteraction
awaitModalSubmit(options):Promise<ModalSubmitInteraction<Cached>>
Collects a single modal submit interaction that passes the filter. The Promise will reject if the time expires.
Example
// Collect a modal submit interaction
const filter = (interaction) => interaction.customId === 'modal';
interaction.awaitModalSubmit({ filter, time: 15_000 })
.then(interaction => console.log(`${interaction.customId} was submitted!`))
.catch(console.error);
// Collect a modal submit interaction
const filter = (interaction) => interaction.customId === 'modal';
interaction.awaitModalSubmit({ filter, time: 15_000 })
.then(interaction => console.log(`${interaction.customId} was submitted!`))
.catch(console.error);
NameTypeOptionalDescription
optionsAwaitModalSubmitOptions<ModalSubmitInteraction>NoOptions to pass to the internal collector
Inherited from MessageComponentInteraction
deferReply(options):Promise<Message<BooleanCache<Cached>>>
Defers the reply to this interaction.
Example
// Defer the reply to this interaction
interaction.deferReply()
.then(console.log)
.catch(console.error)
// Defer the reply to this interaction
interaction.deferReply()
.then(console.log)
.catch(console.error)
Example
// Defer to send an ephemeral reply later
interaction.deferReply({ flags: MessageFlags.Ephemeral })
.then(console.log)
.catch(console.error);
// Defer to send an ephemeral reply later
interaction.deferReply({ flags: MessageFlags.Ephemeral })
.then(console.log)
.catch(console.error);
NameTypeOptionalDescription
optionsInteractionDeferReplyOptions & { fetchReply: true }NoOptions for deferring the reply to this interaction
deferUpdate(options):Promise<Message<BooleanCache<Cached>>>
Defers an update to the message to which the component was attached.
Example
// Defer updating and reset the component's loading state
interaction.deferUpdate()
.then(console.log)
.catch(console.error);
// Defer updating and reset the component's loading state
interaction.deferUpdate()
.then(console.log)
.catch(console.error);
NameTypeOptionalDescription
optionsInteractionDeferUpdateOptions & { fetchReply: true }NoOptions for deferring the update to this interaction
deleteReply(message?):Promise<void>
Deletes a reply to this interaction.
Example
// Delete the initial reply to this interaction
interaction.deleteReply()
.then(console.log)
.catch(console.error);
// Delete the initial reply to this interaction
interaction.deleteReply()
.then(console.log)
.catch(console.error);
NameTypeOptionalDescription
messageMessageResolvable | '@original'YesThe response to delete
Inherited from MessageComponentInteraction
editReply(options):Promise<Message<BooleanCache<Cached>>>
Edits a reply to this interaction.
Example
// Edit the initial reply to this interaction
interaction.editReply('New content')
.then(console.log)
.catch(console.error);
// Edit the initial reply to this interaction
interaction.editReply('New content')
.then(console.log)
.catch(console.error);
NameTypeOptionalDescription
optionsstring | MessagePayload | InteractionEditReplyOptionsNoThe new options for the message
Inherited from MessageComponentInteraction
fetchReply(message?):Promise<Message<BooleanCache<Cached>>>
Fetches a reply to this interaction.
Example
// Fetch the initial reply to this interaction
interaction.fetchReply()
.then(reply => console.log(`Replied with ${reply.content}`))
.catch(console.error);
// Fetch the initial reply to this interaction
interaction.fetchReply()
.then(reply => console.log(`Replied with ${reply.content}`))
.catch(console.error);
NameTypeOptionalDescription
messageSnowflake | '@original'YesThe response to fetch
Inherited from MessageComponentInteraction
followUp(options):Promise<Message<BooleanCache<Cached>>>
Send a follow-up message to this interaction.
NameTypeOptionalDescription
optionsstring | MessagePayload | InteractionReplyOptionsNoThe options for the reply
Inherited from MessageComponentInteraction
inCachedGuild():this is RoleSelectMenuInteraction<'cached'>
Indicates whether this interaction is received from a cached guild.
inGuild():this is RoleSelectMenuInteraction<'raw' | 'cached'>
Indicates whether this interaction is received from a guild.
inRawGuild():this is RoleSelectMenuInteraction<'raw'>
Indicates whether or not this interaction is received from an uncached guild.
isAnySelectMenu():this is SelectMenuInteraction<Cached>
Indicates whether this interaction is a select menu of any known type.
Inherited from BaseInteraction
isAutocomplete():this is AutocompleteInteraction<Cached>
Indicates whether this interaction is an AutocompleteInteraction
Inherited from BaseInteraction
isButton():this is ButtonInteraction<Cached>
Indicates whether this interaction is a ButtonInteraction.
Inherited from BaseInteraction
isChannelSelectMenu():this is ChannelSelectMenuInteraction<Cached>
Indicates whether this interaction is a ChannelSelectMenuInteraction
Inherited from BaseInteraction
isChatInputCommand():this is ChatInputCommandInteraction<Cached>
Indicates whether this interaction is a ChatInputCommandInteraction.
Inherited from BaseInteraction
isCommand():this is CommandInteraction<Cached>
Indicates whether this interaction is a CommandInteraction
Inherited from BaseInteraction
isContextMenuCommand():this is ContextMenuCommandInteraction<Cached>
Indicates whether this interaction is a ContextMenuCommandInteraction
Inherited from BaseInteraction
isMentionableSelectMenu():this is MentionableSelectMenuInteraction<Cached>
Indicates whether this interaction is a MentionableSelectMenuInteraction
Inherited from BaseInteraction
isMessageComponent():this is MessageComponentInteraction<Cached>
Indicates whether this interaction is a MessageComponentInteraction
Inherited from BaseInteraction
isMessageContextMenuCommand():this is MessageContextMenuCommandInteraction<Cached>
Indicates whether this interaction is a MessageContextMenuCommandInteraction
Inherited from BaseInteraction
isModalSubmit():this is ModalSubmitInteraction<Cached>
Indicates whether this interaction is a ModalSubmitInteraction
Inherited from BaseInteraction
isRepliable():this is RepliableInteraction<Cached>
Indicates whether this interaction can be replied to.
Inherited from BaseInteraction
isRoleSelectMenu():this is RoleSelectMenuInteraction<Cached>
Indicates whether this interaction is a RoleSelectMenuInteraction
Inherited from BaseInteraction
isStringSelectMenu():this is StringSelectMenuInteraction<Cached>
Indicates whether this interaction is a StringSelectMenuInteraction.
Inherited from BaseInteraction
isUserContextMenuCommand():this is UserContextMenuCommandInteraction<Cached>
Indicates whether this interaction is a UserContextMenuCommandInteraction
Inherited from BaseInteraction
isUserSelectMenu():this is UserSelectMenuInteraction<Cached>
Indicates whether this interaction is a UserSelectMenuInteraction
Inherited from BaseInteraction
reply(options):Promise<Message<BooleanCache<Cached>>>
Creates a reply to this interaction. Use the fetchReply option to get the bot's reply message.
Example
// Reply to the interaction and fetch the response
interaction.reply({ content: 'Pong!', fetchReply: true })
.then((message) => console.log(`Reply sent with content ${message.content}`))
.catch(console.error);
// Reply to the interaction and fetch the response
interaction.reply({ content: 'Pong!', fetchReply: true })
.then((message) => console.log(`Reply sent with content ${message.content}`))
.catch(console.error);
Example
// Create an ephemeral reply with an embed
const embed = new EmbedBuilder().setDescription('Pong!');

interaction.reply({ embeds: [embed], flags: MessageFlags.Ephemeral })
.then(() => console.log('Reply sent.'))
.catch(console.error);
// Create an ephemeral reply with an embed
const embed = new EmbedBuilder().setDescription('Pong!');

interaction.reply({ embeds: [embed], flags: MessageFlags.Ephemeral })
.then(() => console.log('Reply sent.'))
.catch(console.error);
NameTypeOptionalDescription
optionsInteractionReplyOptions & { fetchReply: true }NoThe options for the reply
showModal(modal):Promise<void>
Shows a modal component
Inherited from MessageComponentInteraction
toJSON(...props):unknown
NameTypeOptionalDescription
...propsRecord<string, boolean | string>[]NoNone
Inherited from Base
update(options):Promise<Message<BooleanCache<Cached>>>
Updates the original message of the component on which the interaction was received on.
Example
// Remove the components from the message
interaction.update({
content: "A component interaction was received",
components: []
})
.then(console.log)
.catch(console.error);
// Remove the components from the message
interaction.update({
content: "A component interaction was received",
components: []
})
.then(console.log)
.catch(console.error);
NameTypeOptionalDescription
optionsInteractionUpdateOptions & { fetchReply: true }NoThe options for the updated message
valueOf():string