botcat_capoo/model/
message.rs1pub 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}