APIMessage

https://discord.com/developers/docs/resources/channel#message-object-message-structure

Signature

export interface APIMessage

Properties

author: APIUser;

The author of this message (only a valid user in the case where the message is generated by a user or bot user) If the message is generated by a webhook, the author object corresponds to the webhook's id, username, and avatar. You can tell if a message is generated by a webhook by checking for the `webhook_id` property See https://discord.com/developers/docs/resources/user#user-object

content: string;

Contents of the message The `MESSAGE_CONTENT` privileged gateway intent is required for verified applications to receive a non-empty value from this field In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**. You also need to specify the intent bit value (`1 <<15`) if you are connecting to the gateway See https://support-dev.discord.com/hc/articles/4404772028055

timestamp: string;

When this message was sent

edited_timestamp: string | null;

When this message was edited (or null if never)

tts: boolean;

Whether this was a TTS message

mentions: APIUser[];

Users specifically mentioned in the message The `member` field is only present in `MESSAGE_CREATE` and `MESSAGE_UPDATE` events from text-based guild channels See https://discord.com/developers/docs/resources/user#user-object See https://discord.com/developers/docs/resources/guild#guild-member-object

mention_roles: APIRole['id'][];

Roles specifically mentioned in this message See https://discord.com/developers/docs/topics/permissions#role-object

mention_channels?: APIChannelMention[];

Channels specifically mentioned in this message Not all channel mentions in a message will appear in `mention_channels`. - Only textual channels that are visible to everyone in a lurkable guild will ever be included - Only crossposted messages (via Channel Following) currently include `mention_channels` at all If no mentions in the message meet these requirements, this field will not be sent See https://discord.com/developers/docs/resources/channel#channel-mention-object

attachments: APIAttachment[];

Any attached files See https://discord.com/developers/docs/resources/channel#attachment-object The `MESSAGE_CONTENT` privileged gateway intent is required for verified applications to receive a non-empty value from this field In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**. You also need to specify the intent bit value (`1 <<15`) if you are connecting to the gateway See https://support-dev.discord.com/hc/articles/4404772028055

embeds: APIEmbed[];

Any embedded content See https://discord.com/developers/docs/resources/channel#embed-object The `MESSAGE_CONTENT` privileged gateway intent is required for verified applications to receive a non-empty value from this field In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**. You also need to specify the intent bit value (`1 <<15`) if you are connecting to the gateway See https://support-dev.discord.com/hc/articles/4404772028055

reactions?: APIReaction[];

Reactions to the message See https://discord.com/developers/docs/resources/channel#reaction-object

nonce?: number | string;

A nonce that can be used for optimistic message sending (up to 25 characters) **You will not receive this from further fetches. This is received only once from a `MESSAGE_CREATE` event to ensure it got sent**

pinned: boolean;

Whether this message is pinned

webhook_id?: Snowflake;

If the message is generated by a webhook, this is the webhook's id

type: MessageType;

Type of message See https://discord.com/developers/docs/resources/channel#message-object-message-types

activity?: APIMessageActivity;

Sent with Rich Presence-related chat embeds See https://discord.com/developers/docs/resources/channel#message-object-message-activity-structure

application?: Partial<APIApplication>;

Sent with Rich Presence-related chat embeds See https://discord.com/developers/docs/resources/application#application-object

application_id?: Snowflake;

If the message is a response to an Interaction, this is the id of the interaction's application

message_reference?: APIMessageReference;

Reference data sent with crossposted messages, replies, pins, and thread starter messages See https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure

flags?: MessageFlags;

Message flags combined as a bitfield See https://discord.com/developers/docs/resources/channel#message-object-message-flags See https://en.wikipedia.org/wiki/Bit_field

referenced_message?: APIMessage | null;

The message associated with the `message_reference` This field is only returned for messages with a `type` of `19` (REPLY). If the message is a reply but the `referenced_message` field is not present, the backend did not attempt to fetch the message that was being replied to, so its state is unknown. If the field exists but is `null`, the referenced message was deleted See https://discord.com/developers/docs/resources/channel#message-object

components?: APITopLevelComponent[];

Sent if the message contains components like buttons, action rows, or other interactive components The `MESSAGE_CONTENT` privileged gateway intent is required for verified applications to receive a non-empty value from this field In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**. You also need to specify the intent bit value (`1 <<15`) if you are connecting to the gateway See https://support-dev.discord.com/hc/articles/4404772028055

sticker_items?: APIStickerItem[];

Sent if the message contains stickers See https://discord.com/developers/docs/resources/sticker#sticker-item-object

position?: number;

A generally increasing integer (there may be gaps or duplicates) that represents the approximate position of the message in a thread It can be used to estimate the relative position of the message in a thread in company with `total_message_sent` on parent thread

resolved?: APIInteractionDataResolved;

Data for users, members, channels, and roles in the message's auto-populated select menus See https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-resolved-data-structure

poll?: APIPoll;

A poll! The `MESSAGE_CONTENT` privileged gateway intent is required for verified applications to receive a non-empty value from this field In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**. You also need to specify the intent bit value (`1 <<15`) if you are connecting to the gateway See https://support-dev.discord.com/hc/articles/4404772028055

message_snapshots?: APIMessageSnapshot[];

The message associated with the message_reference. This is a minimal subset of fields in a message (e.g. author is excluded.)