use crate::models::{Snowflake, Timestamp};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct MessageUser {
pub id: Option<Snowflake>,
pub username: Option<String>,
pub bot: Option<bool>,
pub avatar: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct DirectMessageUser {
pub id: Option<Snowflake>,
pub username: Option<String>,
pub avatar: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Default)]
pub struct GroupMessageUser {
pub id: Option<String>,
pub member_openid: Option<String>,
pub union_openid: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Default)]
pub struct C2CMessageUser {
pub id: Option<String>,
pub union_openid: Option<String>,
pub user_openid: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Default)]
pub struct MessageMember {
pub nick: Option<String>,
pub roles: Option<Vec<Snowflake>>,
pub joined_at: Option<Timestamp>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, Default)]
pub struct DirectMessageMember {
pub joined_at: Option<Timestamp>,
}