use serde::Deserialize; use crate::id::message_type::MessageType; use crate::id::SnowflakeID; use crate::id::types::text::TextMessageType; use crate::message::c2s::ClientToServerMessage; #[derive(Deserialize)] pub struct ReactionMessage { pub emoji_id: SnowflakeID, pub message_id: SnowflakeID, } impl ClientToServerMessage for ReactionMessage { type ServerToClientMessage = crate::message::s2c::text::reaction::ReactionMessage; fn create_s2c_message(&self) -> Self::ServerToClientMessage { Self::ServerToClientMessage { id: SnowflakeID::new_random_hex_loc( MessageType::Text(TextMessageType::Reaction), "beefcafe" ).unwrap(), emoji_id: self.emoji_id.clone(), message_id: self.message_id.clone(), } } }