Optional
activity
activity?: { partyId?: string; type: MessageActivityType }
Optional
application
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;
}
Optional
applicationId
applicationId?: string
attachments
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;
}[]
Optional
call
call?: { endedTimestamp?: null | string; participants: string[] }
channelId
channelId: string
editedTimestamp
editedTimestamp: null | string
Optional
flags
flags?: MessageFlags
Optional
guildId
guildId?: 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;
};
}
Optional
mentionChannels
mentionChannels?: {
guildId: string;
id: string;
name: string;
type: ChannelType;
}[]
mentionEveryone
mentionEveryone: boolean
mentionRoles
mentionRoles: string[]
mentions
mentions: { channels: APIChannelMention[]; roles: string[]; users: (
User | GuildMember)
[];} Optional
messageReference
messageReference?: {
channelId: string;
guildId?: string;
messageId?: string;
type?: MessageReferenceType;
}
Optional
messageSnapshots
messageSnapshots?: {
message: {
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;
}[];
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;
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;
}[];
stickerItems?: { formatType: StickerFormatType; id: string; name: string }[];
timestamp: string;
type: MessageType;
};
}[]
Optional
nonce
nonce?: string | number
Optional
position
position?: number
Optional
reactions
reactions?: {
burstColors: string[];
count: number;
countDetails: { burst: number; normal: number };
emoji: { animated?: boolean; id: null | string; name: null | string };
me: boolean;
meBurst: boolean;
}[]
Optional
referencedMessage
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?: 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?: 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;
}
Optional
resolved
resolved?: {
attachments?: Record<string, APIAttachment>;
channels?: Record<string, APIInteractionDataResolvedChannel>;
members?: Record<string, APIInteractionDataResolvedGuildMember>;
roles?: Record<string, APIRole>;
users?: Record<string, APIUser>;
}
Optional
roleSubscriptionData
roleSubscriptionData?: {
isRenewal: boolean;
roleSubscriptionListingId: string;
tierName: string;
totalMonthsSubscribed: number;
}
Optional
stickerItems
stickerItems?: { formatType: StickerFormatType; id: string; name: string }[]
Optional
thread
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;
}
Optional
timestamp
timestamp?: number
Optional
webhookId
webhookId?: string
createdAt gets the creation Date instace of the current object.