ChatInputCommandInteraction

export class ChatInputCommandInteraction<Cached extends CacheType = CacheType> extends CommandInteraction<Cached>
export class ChatInputCommandInteraction<Cached extends CacheType = CacheType> extends CommandInteraction<Cached>
Represents a command 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
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 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
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
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
options:Omit<CommandInteractionOptionResolver<Cached>, 'getMessage' | 'getFocused'>
The options passed to the command.
replied:boolean
Whether this interaction has already been replied to
Inherited from CommandInteraction
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>NoOptions 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({ 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
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 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 | InteractionEditReplyOptionsNoThe 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'YesThe response to fetch
Inherited from CommandInteraction
followUp(options):Promise<Message<BooleanCache<Cached>>>
Send a follow-up message to this interaction.
NameTypeOptionalDescription
optionsstring | MessagePayload | InteractionReplyOptionsNoThe options for the reply
Inherited from CommandInteraction
inCachedGuild():this is ChatInputCommandInteraction<'cached'>
Indicates whether this interaction is received from a cached guild.
inGuild():this is ChatInputCommandInteraction<'raw' | 'cached'>
Indicates whether this interaction is received from a guild.
inRawGuild():this is ChatInputCommandInteraction<'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 CommandInteraction
toJSON(...props):unknown
NameTypeOptionalDescription
...propsRecord<string, boolean | string>[]NoNone
Inherited from Base
toString():string
Returns a string representation of the command interaction. This can then be copied by a user and executed again in a new command while keeping the option order.
valueOf():string