char/phoebe
git clone https://git.t4t.associates/char/phoebe
4f9e2f5
legacy
1use serde::{ Deserialize , Serialize }; 2 3use crate ::{ channels:: ChannelReference , message_ast:: MessageContent }; 4 5# [ derive ( Serialize , Deserialize , Clone , PartialEq , Eq , Hash )] 6pub enum MessageReference { 7Discord ( u64 , u64 ), 8Matrix ( String , String ), 9} 10 11pub struct MessageAuthor { 12pub display_name : String , 13pub avatar_url : String , 14pub service_name : String , 15pub display_color : Option < String >, 16} 17 18pub struct SentMessage { 19pub source : MessageReference , 20pub content : MessageContent , 21pub author : MessageAuthor , 22pub replies_to : Option < MessageReference >, 23} 24 25pub struct EditedMessage { 26pub replacing : MessageReference , 27pub content : MessageContent , 28pub author : MessageAuthor , 29} 30 31pub struct SentImageMessage { 32pub source : MessageReference , 33pub author : MessageAuthor , 34pub image_url : String , 35} 36 37pub struct DeletedMessage { 38pub reference : MessageReference , 39} 40 41pub enum MessageEvent { 42AdminLinkChannels ( Vec < ChannelReference >), 43SendText ( Box < SentMessage >), 44EditText ( Box < EditedMessage >), 45SendImage ( Box < SentImageMessage >), 46Delete ( Box < DeletedMessage >), 47}