char/phoebe

git clone https://git.t4t.associates/char/phoebe

videogame hackerUpload images from Matrix to Discord4f9e2f5

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