ContextMenuCommandInteraction

export class ContextMenuCommandInteraction<Cached extends CacheType = CacheType> extends CommandInteraction<Cached>
export class ContextMenuCommandInteraction<Cached extends CacheType = CacheType> extends CommandInteraction<Cached>
Represents a context menu interaction.

Extends

CommandInteraction<Cached>
NameConstraintsOptionalDefaultDescription
CachedCacheTypeYesCacheTypeNone
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
The channel this interaction was sent in
Inherited from BaseInteraction
channelId:Snowflake
The id of the channel this interaction was sent in
Inherited from CommandInteraction
Readonly
client:Client<true>
The client that instantiated this
Inherited from Base
The invoked application command, if it was fetched before
Inherited from CommandInteraction
commandGuildId:Snowflake | null
The id of the guild the invoked application command is registered to
Inherited from CommandInteraction
commandId:Snowflake
The invoked application command's id
Inherited from CommandInteraction
commandName:string
The invoked application command's name
Inherited from CommandInteraction
The invoked application command's type
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
deferred:boolean
Whether the reply to this interaction has been deferred
Inherited from CommandInteraction
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 CommandInteraction
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
The target of the interaction, parsed into options
replied:boolean
Whether this interaction has already been replied to
Inherited from CommandInteraction
targetId:Snowflake
The id of the target of this interaction
Readonly
token:string
The interaction's token
Inherited from BaseInteraction
The interaction's type
Inherited from CommandInteraction
user:User
The user who created this interaction
Inherited from BaseInteraction
version:number
The version
Inherited from BaseInteraction
An associated interaction webhook, can be used to further interact with this interaction
Inherited from CommandInteraction
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>No
Options to pass to the internal collector
Inherited from CommandInteraction
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({ ephemeral: true })
.then(console.log)
.catch(console.error);
// Defer to send an ephemeral reply later
interaction.deferReply({ ephemeral: true })
.then(console.log)
.catch(console.error);
NameTypeOptionalDescription
optionsInteractionDeferReplyOptions & { fetchReply: true }No
Options for deferring the reply 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'Yes
The response to delete
Inherited from CommandInteraction
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 | InteractionEditReplyOptionsNo
The new options for the message
Inherited from CommandInteraction
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'Yes
The response to fetch
Inherited from CommandInteraction
followUp(options):Promise<Message<BooleanCache<Cached>>>
Send a follow-up message to this interaction.
NameTypeOptionalDescription
optionsstring | MessagePayload | InteractionReplyOptionsNo
The options for the reply
Inherited from CommandInteraction
inCachedGuild():this is ContextMenuCommandInteraction<'cached'>
Indicates whether or not this interaction is both cached and received from a guild.
inGuild():this is ContextMenuCommandInteraction<'raw' | 'cached'>
Indicates whether this interaction is received from a guild.
inRawGuild():this is ContextMenuCommandInteraction<'raw'>
Indicates whether or not this interaction is received from an uncached guild.
isAnySelectMenu():this is AnySelectMenuInteraction<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
Deprecated
isSelectMenu():this is StringSelectMenuInteraction<Cached>
Use isStringSelectMenu instead.
Deprecated
Indicates whether this interaction is a StringSelectMenuInteraction.
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], ephemeral: true })
.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], ephemeral: true })
.then(() => console.log('Reply sent.'))
.catch(console.error);
NameTypeOptionalDescription
optionsInteractionReplyOptions & { fetchReply: true }No
The options for the reply
sendPremiumRequired():Promise<void>
Responds to the interaction with an upgrade button. Only available for applications with monetization enabled.
Inherited from CommandInteraction
showModal(modal):Promise<void>
Shows a modal component
Inherited from CommandInteraction
toJSON(...props):unknown
NameTypeOptionalDescription
...propsRecord<string, boolean | string>[]NoNone
Inherited from Base
valueOf():string