origin_sdk/protocol/
chat.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
4pub struct ChatMessageEvent {
5    #[serde(rename = "@FromId")]
6    pub from_id: u64,
7    #[serde(rename = "@GroupId")]
8    pub group_id: String,
9    #[serde(rename = "@Thread")]
10    pub thread: String,
11    #[serde(rename = "@Message")]
12    pub message: String,
13}
14
15#[derive(Debug, Serialize, Deserialize)]
16pub enum ChatState {
17    #[serde(rename = "USER_WRITING_START")]
18    UserWritingStart,
19    #[serde(rename = "USER_WRITING_END")]
20    UserWritingEnd,
21}
22
23#[derive(Debug, Serialize, Deserialize)]
24pub struct ChatStateUpdateEvent {
25    #[serde(rename = "@UserId")]
26    pub user_id: u64,
27    #[serde(rename = "@State")]
28    pub state: ChatState,
29}
30
31#[derive(Debug, Serialize, Deserialize)]
32pub struct SendChatMessage {
33    #[serde(rename = "@FromId")]
34    pub from_id: u64,
35    #[serde(rename = "@ToId")]
36    pub to_id: u64,
37    #[serde(rename = "@Thread")]
38    pub thread: String,
39    #[serde(rename = "@Message")]
40    pub message: String,
41    #[serde(rename = "@GroupId")]
42    pub group_id: String,
43}