1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
use crate::{ channel::{embed::Embed, message::MessageType, Attachment}, id::{ChannelId, GuildId, MessageId, RoleId}, user::User, }; use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)] pub struct MessageUpdate { #[serde(skip_serializing_if = "Option::is_none")] pub attachments: Option<Vec<Attachment>>, #[serde(skip_serializing_if = "Option::is_none")] pub author: Option<User>, pub channel_id: ChannelId, pub content: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] pub edited_timestamp: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] pub embeds: Option<Vec<Embed>>, #[serde(skip_serializing_if = "Option::is_none")] pub guild_id: Option<GuildId>, pub id: MessageId, #[serde(rename = "type", skip_serializing_if = "Option::is_none")] pub kind: Option<MessageType>, #[serde(skip_serializing_if = "Option::is_none")] pub mention_everyone: Option<bool>, #[serde(skip_serializing_if = "Option::is_none")] pub mention_roles: Option<Vec<RoleId>>, #[serde(skip_serializing_if = "Option::is_none")] pub mentions: Option<Vec<User>>, #[serde(skip_serializing_if = "Option::is_none")] pub pinned: Option<bool>, #[serde(skip_serializing_if = "Option::is_none")] pub timestamp: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] pub tts: Option<bool>, }