ModalSubmitInteraction

export class ModalSubmitInteraction<Cached extends CacheType = CacheType> extends BaseInteraction<Cached>
export class ModalSubmitInteraction<Cached extends CacheType = CacheType> extends BaseInteraction<Cached>
Represents a modal interaction

Extends

BaseInteraction<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 | null
The id of the channel this interaction was sent in
Inherited from BaseInteraction
Readonly
client:Client<true>
The client that instantiated this
Inherited from Base
Readonly
components:ActionRowModalData[]
The components within the modal
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
Readonly
customId:string
The custom id of the modal.
deferred:boolean
Whether the reply to this interaction has been deferred
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
Readonly
The fields within the modal
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>> | null
The message associated with this interaction
replied:boolean
Whether this interaction has already been replied to
Readonly
token:string
The interaction's token
Inherited from BaseInteraction
The interaction's type
user:User
The user who created this interaction
Inherited from BaseInteraction
version:number
The version
Inherited from BaseInteraction
Readonly
An associated interaction webhook, can be used to further interact with this interaction
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
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
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
followUp(options):Promise<Message<BooleanCache<Cached>>>
Send a follow-up message to this interaction.
NameTypeOptionalDescription
optionsstring | MessagePayload | InteractionReplyOptionsNoThe options for the reply
inCachedGuild():this is ModalSubmitInteraction<'cached'>
Indicates whether this interaction is received from a cached guild.
inGuild():this is ModalSubmitInteraction<'raw' | 'cached'>
Indicates whether this interaction is received from a guild.
inRawGuild():this is ModalSubmitInteraction<'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
isFromMessage():this is ModalMessageModalSubmitInteraction<Cached>
Whether this is from a MessageComponentInteraction.
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
toJSON(...props):unknown
NameTypeOptionalDescription
...propsRecord<string, boolean | string>[]NoNone
Inherited from Base
Static
transformComponent(rawComponent):Array<ModalData>
Transforms component data to discord.js-compatible data
NameTypeOptionalDescription
rawComponentanyNoThe data to transform
update(options):Promise<(Message|void)>
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
optionsstring | MessagePayload | InteractionUpdateOptionsNoThe options for the updated message
valueOf():string