Carbon
Core/Classes

BaseInteraction

This is the base type interaction, all interaction types extend from this

Extended by

Type Parameters

Type Parameter
T extends APIInteraction

Constructors

Constructor

new BaseInteraction<T>(client, data, defaults): BaseInteraction<T>

Parameters

ParameterType
clientClient
dataT
defaultsInteractionDefaults

Returns

BaseInteraction<T>

Overrides

Base.constructor

Properties

PropertyTypeDefault valueDescriptionInherited from
_deferredbooleanfalseInternal Whether the interaction is deferred already-
clientClientundefined-Base.client
rawDataTundefinedThe raw data of the interaction-
typeInteractionTypeundefinedThe type of interaction-
userIdundefined | stringundefinedThe user who sent the interaction-

Accessors

channel

Get Signature

get channel(): null | DmChannel<false> | GroupDmChannel<false> | GuildTextChannel<false> | GuildVoiceChannel<false> | GuildCategoryChannel<false> | GuildAnnouncementChannel<false> | GuildThreadChannel<ThreadChannelType, false> | GuildStageChannel<false> | GuildForumChannel<false> | GuildMediaChannel

Returns

null | DmChannel<false> | GroupDmChannel<false> | GuildTextChannel<false> | GuildVoiceChannel<false> | GuildCategoryChannel<false> | GuildAnnouncementChannel<false> | GuildThreadChannel<ThreadChannelType, false> | GuildStageChannel<false> | GuildForumChannel<false> | GuildMediaChannel


embeds

Get Signature

get embeds(): null | Embed[]

Returns

null | Embed[]


guild

Get Signature

get guild(): null | Guild<true>

Returns

null | Guild<true>


member

Get Signature

get member(): null | GuildMember<false, true>

Returns

null | GuildMember<false, true>


message

Get Signature

get message(): null | Message<false>

Returns

null | Message<false>


user

Get Signature

get user(): null | User<false>

Returns

null | User<false>

Methods

defer()

defer(__namedParameters): Promise<void>

Internal

Defer the interaction response. This is used automatically by commands that are set to defer. If the interaction is already deferred, this will do nothing.

Parameters

ParameterType
__namedParameters{ ephemeral?: boolean; }
__namedParameters.ephemeral?boolean

Returns

Promise<void>


followUp()

followUp(reply): Promise<void>

Send a followup message to the interaction

Parameters

ParameterType
replyMessagePayload

Returns

Promise<void>


reply()

reply(data, overrideAutoRegister): Promise<Message<false>>

Reply to an interaction. If the interaction is deferred, this will edit the original response.

Parameters

ParameterTypeDefault valueDescription
dataMessagePayloadundefinedThe message data to send
overrideAutoRegisterbooleanfalse-

Returns

Promise<Message<false>>


replyAndWaitForComponent()

replyAndWaitForComponent(data, timeout): Promise<{ customId: string; success: true; values?: string[]; } | { reason: "timed out"; success: false; }>

This function will reply to the interaction and wait for a component to be pressed. Any components passed in the message will not have run() functions called and will only trigger the interaction.acknowledge() function. This function will also return a promise that resolves to the custom ID of the component that was pressed.

Parameters

ParameterTypeDefault valueDescription
dataMessagePayloadundefinedThe message data to send
timeoutnumber300000After this many milliseconds, the promise will resolve to null

Returns

Promise<{ customId: string; success: true; values?: string[]; } | { reason: "timed out"; success: false; }>


showModal()

showModal(modal): Promise<void>

Show a modal to the user This can only be used if the interaction is not deferred

Parameters

ParameterType
modalModal

Returns

Promise<void>

On this page