phoebe/mid-chat/src/lib.rs

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;