phoebe/src/messages.rs

33 lines
762 B
Rust

use serde::{Deserialize, Serialize};
use crate::{channels::ChannelReference, 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 replies_to: Option<MessageReference>,
}
pub struct EditedMessage {
pub replacing: MessageReference,
pub content: MessageContent,
pub author: MessageAuthor,
}
pub enum MessageEvent {
AdminLinkChannels(Vec<ChannelReference>),
Send(SentMessage),
Edit(EditedMessage),
}