45 lines
924 B
Rust
45 lines
924 B
Rust
pub mod reference;
|
|
pub use reference::*;
|
|
|
|
#[derive(Debug, Clone)]
|
|
pub enum ChatAttachment {
|
|
Online {
|
|
media_type: Option<String>,
|
|
url: String,
|
|
},
|
|
InMemory {
|
|
media_type: Option<String>,
|
|
file_name: String,
|
|
data: Vec<u8>,
|
|
},
|
|
}
|
|
|
|
#[derive(Debug, Clone)]
|
|
pub struct ChatAuthor {
|
|
pub reference: ChatReference,
|
|
pub display_name: String,
|
|
pub display_color: Option<[u8; 3]>,
|
|
pub avatar: ChatAttachment,
|
|
}
|
|
|
|
mod content;
|
|
pub use content::*;
|
|
|
|
#[derive(Debug, Clone)]
|
|
pub struct ChatMessage {
|
|
pub origin: ChatMessageReference,
|
|
pub author: ChatAuthor,
|
|
pub content: ChatMessageContent,
|
|
pub attachments: Vec<ChatAttachment>,
|
|
pub replying: Option<ChatMessageReference>,
|
|
}
|
|
|
|
#[derive(Debug, Clone)]
|
|
pub struct ChatMessageEdit {
|
|
pub origin: ChatMessageReference,
|
|
pub author: ChatAuthor,
|
|
pub new_content: ChatMessageContent,
|
|
}
|
|
|
|
pub mod event;
|