Protected
Optional
__reply
applicationId
applicationId: string
appPermissions
appPermissions: PermissionsBitField
attachmentSizeLimit
attachmentSizeLimit: number
authorizingIntegrationOwners
authorizingIntegrationOwners: { "0"?: string; "1"?: string }
Optional
context
context?: InteractionContextType
data
data: {
guildId?: string;
id: string;
name: string;
resolved: {
messages: {
[key: Lowercase<string>]: {
activity?: { partyId?: string; type: MessageActivityType };
application?: {
approximateGuildCount?: number;
approximateUserInstallCount?: number;
bot?: APIUser;
botPublic?: boolean;
botRequireCodeGrant?: boolean;
coverImage?: string;
customInstallUrl?: string;
description?: string;
flags?: ApplicationFlags;
guild?: APIPartialGuild;
guildId?: string;
icon?: null | string;
id?: string;
installParams?: APIApplicationInstallParams;
integrationTypesConfig?: APIApplicationIntegrationTypesConfigMap;
interactionsEndpointUrl?: null | string;
name?: string;
owner?: APIUser;
primarySkuId?: string;
privacyPolicyUrl?: string;
redirectUris?: string[];
roleConnectionsVerificationUrl?: null | string;
rpcOrigins?: string[];
slug?: string;
tags?: [string, string?, string?, string?, string?];
team?: null | APITeam;
termsOfServiceUrl?: string;
verifyKey?: string;
};
applicationId?: string;
attachments: {
contentType?: string;
description?: string;
durationSecs?: number;
ephemeral?: boolean;
filename: string;
flags?: AttachmentFlags;
height?: null
| number;
id: string;
proxyUrl: string;
size: number;
title?: string;
url: string;
waveform?: string;
width?: null | number;
}[];
author: {
accentColor?: null
| number;
avatar: null | string;
avatarDecorationData?: null | { asset: string; skuId: string };
banner?: null | string;
bot?: boolean;
discriminator: string;
email?: null | string;
flags?: UserFlags;
globalName: null | string;
id: string;
locale?: string;
mfaEnabled?: boolean;
premiumType?: UserPremiumType;
publicFlags?: UserFlags;
system?: boolean;
username: string;
verified?: boolean;
};
call?: { endedTimestamp?: null
| string; participants: string[] };
channelId: string;
components?: (
| {
accentColor?: number;
components: (
| { file: ...; id?: ...; spoiler?: ...; type: ... }
| { id?: ...; items: ...; type: ... }
| { accessory: ...; components: ...; id?: ...; type: ... }
| { divider?: ...; id?: ...; spacing?: ...; type: ... }
| { content: ...; id?: ...; type: ... }
| { components: ...; type: ... }
| {
description?: ...;
id?: ...;
media: ...;
spoiler?: ...;
type: ...;
}
)[];
id?: number;
spoiler?: boolean;
type: Container;
}
| {
components: (
| {
customId: ...;
disabled?: ...;
emoji?: ...;
label?: ...;
style: ...;
type: ...;
}
| { disabled?: ...; skuId: ...; style: ...; type: ... }
| {
disabled?: ...;
emoji?: ...;
label?: ...;
style: ...;
type: ...;
url: ...;
}
| {
customId: ...;
label: ...;
maxLength?: ...;
minLength?: ...;
placeholder?: ...;
required?: ...;
style: ...;
type: ...;
value?: ...;
}
| {
channelTypes?: ...;
customId: ...;
defaultValues?: ...;
disabled?: ...;
maxValues?: ...;
minValues?: ...;
placeholder?: ...;
type: ...;
}
| {
customId: ...;
defaultValues?: ...;
disabled?: ...;
maxValues?: ...;
minValues?: ...;
placeholder?: ...;
type: ...;
}
| {
customId: ...;
defaultValues?: ...;
disabled?: ...;
maxValues?: ...;
minValues?: ...;
placeholder?: ...;
type: ...;
}
| {
customId: ...;
disabled?: ...;
maxValues?: ...;
minValues?: ...;
options: ...;
placeholder?: ...;
type: ...;
}
| {
customId: ...;
defaultValues?: ...;
disabled?: ...;
maxValues?: ...;
minValues?: ...;
placeholder?: ...;
type: ...;
}
)[];
type: ActionRow;
}
| {
file: {
contentType?: string;
height?: null
| number;
proxyUrl?: string;
url: string;
width?: null | number;
};
id?: number;
spoiler?: boolean;
type: File;
}
| {
id?: number;
items: {
description?: (...)
| (...);
media: {
contentType?: ...;
height?: ...;
proxyUrl?: ...;
url: ...;
width?: ...;
};
spoiler?: (...)
| (...)
| (...);
}[];
type: MediaGallery;
}
| {
accessory: | {
description?: (...)
| (...);
id?: (...) | (...);
media: {
contentType?: ...;
height?: ...;
proxyUrl?: ...;
url: ...;
width?: ...;
};
spoiler?: (...)
| (...)
| (...);
type: Thumbnail;
}
| {
customId: string;
disabled?: (...)
| (...)
| (...);
emoji?: (...) | (...);
label?: (...) | (...);
style: (...) | (...) | (...) | (...);
type: Button;
}
| {
disabled?: (...)
| (...)
| (...);
skuId: string;
style: Premium;
type: Button;
}
| {
disabled?: (...)
| (...)
| (...);
emoji?: (...) | (...);
label?: (...) | (...);
style: Link;
type: Button;
url: string;
};
components: { content: string; id?: (...)
| (...); type: TextDisplay }[];
id?: number;
type: Section;
}
| {
divider?: boolean;
id?: number;
spacing?: Spacing;
type: Separator;
}
| { content: string; id?: number; type: TextDisplay }
)[];
content: string;
editedTimestamp: null | string;
embeds: {
author?: {
iconUrl?: string;
name: string;
proxyIconUrl?: string;
url?: string;
};
color?: number;
description?: string;
fields?: { inline?: boolean; name: string; value: string }[];
footer?: { iconUrl?: string; proxyIconUrl?: string; text: string };
image?: {
height?: number;
proxyUrl?: string;
url: string;
width?: number;
};
provider?: { name?: string; url?: string };
thumbnail?: {
height?: number;
proxyUrl?: string;
url: string;
width?: number;
};
timestamp?: string;
title?: string;
type?: EmbedType;
url?: string;
video?: {
height?: number;
proxyUrl?: string;
url?: string;
width?: number;
};
}[];
flags?: MessageFlags;
id: string;
interactionMetadata?: {
authorizingIntegrationOwners: { "0"?: string; "1"?: string };
id: string;
interactedMessageId?: string;
originalResponseMessageId?: string;
triggeringInteractionMetadata?: APIMessageInteractionMetadata;
type: InteractionType;
user: {
accentColor?: null | number;
avatar: null | string;
avatarDecorationData?: null | { asset: string; skuId: string };
banner?: null | string;
bot?: boolean;
discriminator: string;
email?: null | string;
flags?: UserFlags;
globalName: null | string;
id: string;
locale?: string;
mfaEnabled?: boolean;
premiumType?: UserPremiumType;
publicFlags?: UserFlags;
system?: boolean;
username: string;
verified?: boolean;
};
};
mentionChannels?: {
guildId: string;
id: string;
name: string;
type: ChannelType;
}[];
mentionEveryone: boolean;
mentionRoles: string[];
mentions: {
accentColor?: null
| number;
avatar: null | string;
avatarDecorationData?: null | { asset: string; skuId: string };
banner?: null | string;
bot?: boolean;
discriminator: string;
email?: null | string;
flags?: UserFlags;
globalName: null | string;
id: string;
locale?: string;
mfaEnabled?: boolean;
premiumType?: UserPremiumType;
publicFlags?: UserFlags;
system?: boolean;
username: string;
verified?: boolean;
}[];
messageReference?: {
channelId: string;
guildId?: string;
messageId?: string;
type?: MessageReferenceType;
};
messageSnapshots?: {
message: {
attachments: {
contentType?: (...)
| (...);
description?: (...) | (...);
durationSecs?: (...) | (...);
ephemeral?: (...) | (...) | (...);
filename: string;
flags?: (...) | (...);
height?: (...) | (...) | (...);
id: string;
proxyUrl: string;
size: number;
title?: (...) | (...);
url: string;
waveform?: (...) | (...);
width?: (...) | (...) | (...);
}[];
components?: ((...) | (...) | (...) | (...) | (...) | (...) | (...))[];
content: string;
editedTimestamp: null | string;
embeds: {
author?: (...) | (...);
color?: (...) | (...);
description?: (...) | (...);
fields?: (...) | (...);
footer?: (...) | (...);
image?: (...) | (...);
provider?: (...) | (...);
thumbnail?: (...) | (...);
timestamp?: (...) | (...);
title?: (...) | (...);
type?: (...) | (...);
url?: (...) | (...);
video?: (...) | (...);
}[];
flags?: MessageFlags;
mentionRoles: string[];
mentions: {
accentColor?: (...)
| (...)
| (...);
avatar: (...) | (...);
avatarDecorationData?: (...) | (...) | (...);
banner?: (...) | (...) | (...);
bot?: (...) | (...) | (...);
discriminator: string;
email?: (...) | (...) | (...);
flags?: (...) | (...);
globalName: (...) | (...);
id: string;
locale?: (...) | (...);
mfaEnabled?: (...) | (...) | (...);
premiumType?: (...) | (...);
publicFlags?: (...) | (...);
system?: (...) | (...) | (...);
username: string;
verified?: (...) | (...) | (...);
}[];
stickerItems?: { formatType: ...; id: ...; name: ... }[];
timestamp: string;
type: MessageType;
};
}[];
nonce?: string
| number;
pinned: boolean;
poll?: {
allowMultiselect: boolean;
answers: {
answerId: number;
pollMedia: {
emoji?: { animated?: ...; id: ...; name: ... };
text?: string;
};
}[];
expiry: string;
layoutType: PollLayoutType;
question: {
emoji?: {
animated?: boolean;
id: null
| string;
name: null | string;
};
text?: string;
};
results?: APIPollResults;
};
position?: number;
reactions?: {
burstColors: string[];
count: number;
countDetails: { burst: number; normal: number };
emoji: { animated?: boolean; id: null | string; name: null | string };
me: boolean;
meBurst: boolean;
}[];
referencedMessage?: | null
| {
activity?: APIMessageActivity;
application?: Partial<APIApplication>;
applicationId?: string;
attachments: {
contentType?: string;
description?: string;
durationSecs?: number;
ephemeral?: boolean;
filename: string;
flags?: AttachmentFlags;
height?: null | number;
id: string;
proxyUrl: string;
size: number;
title?: string;
url: string;
waveform?: string;
width?: null | number;
}[];
author: {
accentColor?: null
| number;
avatar: null | string;
avatarDecorationData?: null | { asset: string; skuId: string };
banner?: null | string;
bot?: boolean;
discriminator: string;
email?: null | string;
flags?: UserFlags;
globalName: null | string;
id: string;
locale?: string;
mfaEnabled?: boolean;
premiumType?: UserPremiumType;
publicFlags?: UserFlags;
system?: boolean;
username: string;
verified?: boolean;
};
call?: APIMessageCall;
channelId: string;
components?: APITopLevelComponent[];
content: string;
editedTimestamp: null
| string;
embeds: {
author?: {
iconUrl?: (...) | (...);
name: string;
proxyIconUrl?: (...) | (...);
url?: (...) | (...);
};
color?: number;
description?: string;
fields?: { inline?: ...; name: ...; value: ... }[];
footer?: {
iconUrl?: (...) | (...);
proxyIconUrl?: (...) | (...);
text: string;
};
image?: {
height?: (...)
| (...);
proxyUrl?: (...) | (...);
url: string;
width?: (...) | (...);
};
provider?: { name?: (...)
| (...); url?: (...) | (...) };
thumbnail?: {
height?: (...) | (...);
proxyUrl?: (...) | (...);
url: string;
width?: (...) | (...);
};
timestamp?: string;
title?: string;
type?: EmbedType;
url?: string;
video?: {
height?: (...)
| (...);
proxyUrl?: (...) | (...);
url?: (...) | (...);
width?: (...) | (...);
};
}[];
flags?: MessageFlags;
id: string;
interactionMetadata?: APIMessageInteractionMetadata;
mentionChannels?: APIChannelMention[];
mentionEveryone: boolean;
mentionRoles: string[];
mentions: {
accentColor?: null
| number;
avatar: null | string;
avatarDecorationData?: null | { asset: string; skuId: string };
banner?: null | string;
bot?: boolean;
discriminator: string;
email?: null | string;
flags?: UserFlags;
globalName: null | string;
id: string;
locale?: string;
mfaEnabled?: boolean;
premiumType?: UserPremiumType;
publicFlags?: UserFlags;
system?: boolean;
username: string;
verified?: boolean;
}[];
messageReference?: APIMessageReference;
messageSnapshots?: APIMessageSnapshot[];
nonce?: string
| number;
pinned: boolean;
poll?: APIPoll;
position?: number;
reactions?: APIReaction[];
referencedMessage?: null | APIMessage;
resolved?: APIInteractionDataResolved;
roleSubscriptionData?: APIMessageRoleSubscriptionData;
stickerItems?: APIStickerItem[];
thread?: APIThreadChannel;
timestamp: string;
tts: boolean;
type: MessageType;
webhookId?: string;
};
resolved?: {
attachments?: Record<string, APIAttachment>;
channels?: Record<string, APIInteractionDataResolvedChannel>;
members?: Record<string, APIInteractionDataResolvedGuildMember>;
roles?: Record<string, APIRole>;
users?: Record<string, APIUser>;
};
roleSubscriptionData?: {
isRenewal: boolean;
roleSubscriptionListingId: string;
tierName: string;
totalMonthsSubscribed: number;
};
stickerItems?: {
formatType: StickerFormatType;
id: string;
name: string;
}[];
thread?: {
appliedTags: string[];
flags?: ChannelFlags;
guildId?: string;
id: string;
lastMessageId?: null
| string;
lastPinTimestamp?: null | string;
member?: APIThreadMember;
memberCount?: number;
messageCount?: number;
name: string;
nsfw?: boolean;
ownerId?: string;
parentId?: string;
permissionOverwrites?: APIOverwrite[];
position: number;
rateLimitPerUser?: number;
threadMetadata?: APIThreadMetadata;
totalMessageSent?: number;
type: ThreadChannelType;
};
timestamp: string;
tts: boolean;
type: MessageType;
webhookId?: string;
};
};
};
targetId: string;
type: Message;
}
Optional
guild
guild?: { features: GuildFeature[]; id: string; locale: Locale }
Optional
guildId
guildId?: string
Optional
guildLocale
guildLocale?:
| "id"
| "en-US"
| "en-GB"
| "bg"
| "zh-CN"
| "zh-TW"
| "hr"
| "cs"
| "da"
| "nl"
| "fi"
| "fr"
| "de"
| "el"
| "hi"
| "hu"
| "it"
| "ja"
| "ko"
| "lt"
| "no"
| "pl"
| "pt-BR"
| "ro"
| "ru"
| "es-ES"
| "es-419"
| "sv-SE"
| "th"
| "tr"
| "uk"
| "vi"
locale
locale:
| "id"
| "en-US"
| "en-GB"
| "bg"
| "zh-CN"
| "zh-TW"
| "hr"
| "cs"
| "da"
| "nl"
| "fi"
| "fr"
| "de"
| "el"
| "hi"
| "hu"
| "it"
| "ja"
| "ko"
| "lt"
| "no"
| "pl"
| "pt-BR"
| "ro"
| "ru"
| "es-ES"
| "es-419"
| "sv-SE"
| "th"
| "tr"
| "uk"
| "vi"
Optional
replied
replied?:
| boolean
| Promise<undefined | boolean | RESTPostAPIInteractionCallbackResult>
createdAt gets the creation Date instace of the current object.