pub struct Message {Show 34 fields
pub activity: Option<MessageActivity>,
pub application: Option<MessageApplication>,
pub application_id: Option<Id<ApplicationMarker>>,
pub attachments: Vec<Attachment>,
pub author: User,
pub call: Option<MessageCall>,
pub channel_id: Id<ChannelMarker>,
pub components: Vec<Component>,
pub content: String,
pub edited_timestamp: Option<Timestamp>,
pub embeds: Vec<Embed>,
pub flags: Option<MessageFlags>,
pub guild_id: Option<Id<GuildMarker>>,
pub id: Id<MessageMarker>,
pub interaction: Option<MessageInteraction>,
pub interaction_metadata: Option<Box<InteractionMetadata>>,
pub kind: MessageType,
pub member: Option<PartialMember>,
pub mention_channels: Vec<ChannelMention>,
pub mention_everyone: bool,
pub mention_roles: Vec<Id<RoleMarker>>,
pub mentions: Vec<Mention>,
pub message_snapshots: Vec<MessageSnapshot>,
pub pinned: bool,
pub poll: Option<Poll>,
pub reactions: Vec<Reaction>,
pub reference: Option<MessageReference>,
pub referenced_message: Option<Box<Message>>,
pub role_subscription_data: Option<RoleSubscriptionData>,
pub sticker_items: Vec<MessageSticker>,
pub timestamp: Timestamp,
pub thread: Option<Channel>,
pub tts: bool,
pub webhook_id: Option<Id<WebhookMarker>>,
}
Expand description
Text message sent in a Channel
.
Fields§
§activity: Option<MessageActivity>
Present with Rich Presence-related chat embeds.
application: Option<MessageApplication>
Present with Rich Presence-related chat embeds.
application_id: Option<Id<ApplicationMarker>>
Associated application’s ID.
Present if the message is a response to an Interaction
.
attachments: Vec<Attachment>
List of attachments.
Receiving the attachments of messages requires that the Message Content Intent be enabled for the application. In the case of receiving messages over the Gateway, the intent must also be enabled for the session.
Message attachments will be empty unless the Message Content Intent is enabled, the message was sent by the current user, or the message is in a direct message channel.
Author of the message.
call: Option<MessageCall>
The call associated with the message.
channel_id: Id<ChannelMarker>
ID of the Channel
the message was sent in.
components: Vec<Component>
List of provided components, such as buttons.
Receiving the components of messages requires that the Message Content Intent be enabled for the application. In the case of receiving messages over the Gateway, the intent must also be enabled for the session.
Message components will be empty unless the Message Content Intent is enabled, the message was sent by the current user, or the message is in a direct message channel.
content: String
Content of the message.
Receiving the content of messages requires that the Message Content Intent be enabled for the application. In the case of receiving messages over the Gateway, the intent must also be enabled for the session.
Message content will be empty unless the Message Content Intent is enabled, the message was sent by the current user, or the message is in a direct message channel.
edited_timestamp: Option<Timestamp>
When the message was last edited.
embeds: Vec<Embed>
List of embeds.
Receiving the embeds of messages requires that the Message Content Intent be enabled for the application. In the case of receiving messages over the Gateway, the intent must also be enabled for the session.
Message embeds will be empty unless the Message Content Intent is enabled, the message was sent by the current user, or the message is in a direct message channel.
flags: Option<MessageFlags>
Flags of the message.
guild_id: Option<Id<GuildMarker>>
ID of the Guild
the message was sent in.
id: Id<MessageMarker>
Id of the message.
interaction: Option<MessageInteraction>
Interaction the message was sent as a response to.
interaction_metadata: Option<Box<InteractionMetadata>>
Contains metadata related to the interacting if the message is sent as a result of an interaction.
kind: MessageType
Type of message.
member: Option<PartialMember>
Member properties of the author
.
mention_channels: Vec<ChannelMention>
Channel
s mentioned in the message.
Note: only textual channels visible to everyone mentioned in crossposted messages (via channel following) will be included.
mention_everyone: bool
Whether the message mentions @everyone
.
mention_roles: Vec<Id<RoleMarker>>
Role
s mentioned in the message.
mentions: Vec<Mention>
Users mentioned in the message.
message_snapshots: Vec<MessageSnapshot>
The message associated with the MessageReference
. This is a minimal subset
of fields in a message (e.g. author is excluded.).
pinned: bool
Whether the message is pinned.
poll: Option<Poll>
The poll associated with the message.
reactions: Vec<Reaction>
List of reactions to the message.
reference: Option<MessageReference>
Crosspost, channel follow add, pin and reply source message data.
referenced_message: Option<Box<Message>>
The message associated with the reference
.
role_subscription_data: Option<RoleSubscriptionData>
Information about the role subscription purchase or renewal that prompted this message.
Applies to RoleSubscriptionPurchase
messages.
sticker_items: Vec<MessageSticker>
Stickers within the message.
timestamp: Timestamp
Timestamp of when the message was created.
thread: Option<Channel>
Thread started from this message, includes Channel::member
.
tts: bool
Whether the message was a TTS message.
webhook_id: Option<Id<WebhookMarker>>
ID of the webhook that generated the message.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Message
impl<'de> Deserialize<'de> for Message
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl StructuralPartialEq for Message
Auto Trait Implementations§
impl Freeze for Message
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnwindSafe for Message
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)