use serde::{Deserialize, Serialize}; use crate::message_ast::MessageContent; #[derive(Serialize, Deserialize, Clone, PartialEq, Eq)] pub enum MessageReference { Discord(u64, u64), Matrix(String, String), } pub struct MessageAuthor { pub display_name: String, } pub struct SentMessage { pub source: MessageReference, pub content: MessageContent, pub author: MessageAuthor, } pub struct EditedMessage { pub replacing: MessageReference, pub content: MessageContent, pub author: MessageAuthor, } pub enum MessageEvent { Send(SentMessage), Edit(EditedMessage), }