origin_sdk/protocol/
chat.rs1use 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}