mirai_ws/protocol/
reply.rs

1use serde::{Serialize};
2use crate::protocol::common::MsgUnit;
3
4
5#[derive(Serialize, Debug)]
6#[serde(rename_all = "camelCase")]
7pub struct MsgReply {
8    #[serde(flatten)]
9    pub command: MsgCmd
10}
11
12#[derive(Serialize, Debug)]
13#[serde(rename_all = "camelCase")]
14
15pub enum NudgeKind { Group, Friend, Stranger }
16
17#[derive(Serialize, Debug)]
18#[serde(rename_all = "camelCase", tag="command", content="content")]
19pub enum MsgCmd {
20    #[serde(rename_all = "camelCase")]
21    SendFriendMessage {
22        target: i64,
23        quote: Option<i32>,
24        message_chain: Vec<MsgUnit>
25    },
26    #[serde(rename_all = "camelCase")]
27    SendGroupMessage {
28        target: i64,
29        quote: Option<i32>,
30        message_chain: Vec<MsgUnit>
31    },
32    #[serde(rename_all = "camelCase")]
33    SendTempMessage {
34        qq:i64,
35        group:i64,
36        quote: Option<i32>,
37        message_chain: Vec<MsgUnit>
38    },
39    #[serde(rename_all = "camelCase")]
40    SendNudge {
41        target: i64,
42        subject: i64,
43        kind: NudgeKind
44    },
45    #[serde(rename_all = "camelCase")]
46    Recall {
47        target: i64
48    }
49}
50