2022-04-08 16:52:59 +00:00
|
|
|
pub mod reference;
|
|
|
|
pub use reference::*;
|
|
|
|
|
2022-04-17 10:53:52 +00:00
|
|
|
#[derive(Debug, Clone)]
|
|
|
|
pub enum ChatAttachment {
|
2022-04-17 11:34:04 +00:00
|
|
|
Online {
|
|
|
|
media_type: Option<String>,
|
|
|
|
url: String,
|
|
|
|
},
|
|
|
|
InMemory {
|
|
|
|
media_type: Option<String>,
|
|
|
|
file_name: String,
|
|
|
|
data: Vec<u8>,
|
|
|
|
},
|
2022-04-17 10:53:52 +00:00
|
|
|
}
|
|
|
|
|
2022-04-08 16:52:59 +00:00
|
|
|
#[derive(Debug, Clone)]
|
|
|
|
pub struct ChatAuthor {
|
|
|
|
pub reference: ChatReference,
|
|
|
|
pub display_name: String,
|
|
|
|
pub display_color: Option<[u8; 3]>,
|
2022-04-17 10:53:52 +00:00
|
|
|
pub avatar: ChatAttachment,
|
2022-04-08 16:52:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
mod content;
|
|
|
|
pub use content::*;
|
|
|
|
|
|
|
|
#[derive(Debug, Clone)]
|
|
|
|
pub struct ChatMessage {
|
2022-04-16 08:06:48 +00:00
|
|
|
pub origin: ChatMessageReference,
|
2022-04-08 16:52:59 +00:00
|
|
|
pub author: ChatAuthor,
|
|
|
|
pub content: ChatMessageContent,
|
2022-04-17 10:53:52 +00:00
|
|
|
pub attachments: Vec<ChatAttachment>,
|
2022-04-16 08:06:48 +00:00
|
|
|
pub replying: Option<ChatMessageReference>,
|
2022-04-08 16:52:59 +00:00
|
|
|
}
|
|
|
|
|
2022-04-18 14:47:05 +00:00
|
|
|
#[derive(Debug, Clone)]
|
|
|
|
pub struct ChatMessageEdit {
|
|
|
|
pub origin: ChatMessageReference,
|
|
|
|
pub author: ChatAuthor,
|
|
|
|
pub new_content: ChatMessageContent,
|
|
|
|
}
|
|
|
|
|
2022-04-08 16:52:59 +00:00
|
|
|
pub mod event;
|