Skip to main content

botcat_capoo/model/
message.rs

1pub mod segment;
2
3use serde::{Deserialize, Serialize};
4
5pub type Message = Vec<segment::MessageSegment>;
6
7#[derive(Clone, Debug, Deserialize, Serialize)]
8pub struct PrivateMessage {
9    pub message: Message,
10    pub sender: PrivateMessageSender,
11}
12
13#[derive(Clone, Debug, Deserialize, Serialize)]
14pub struct GroupMessage {
15    pub message: Message,
16    pub sender: GroupMessageSender,
17}
18
19#[derive(Clone, Debug, Deserialize, Serialize)]
20pub struct GroupMessageSender {
21    pub user_id: u64,
22    pub nickname: String,
23    pub card: String,
24    pub role: GroupRole,
25}
26
27#[derive(Clone, Debug, Deserialize, Serialize)]
28#[serde(rename_all = "snake_case")]
29pub enum GroupRole {
30    Owner,
31    Admin,
32    Member,
33}
34
35#[derive(Clone, Debug, Deserialize, Serialize)]
36pub struct PrivateMessageSender {
37    pub user_id: u64,
38    pub nickname: String,
39    pub card: String,
40}