kick_api/models/chat.rs
1use serde::{Deserialize, Serialize};
2
3/// Request body for sending a chat message
4///
5/// # Example
6/// ```
7/// use kick_api::SendMessageRequest;
8///
9/// let request = SendMessageRequest {
10/// r#type: "user".to_string(),
11/// content: "Hello chat!".to_string(),
12/// broadcaster_user_id: Some(12345),
13/// reply_to_message_id: None,
14/// };
15/// ```
16#[derive(Debug, Clone, Serialize, Deserialize)]
17pub struct SendMessageRequest {
18 /// Message type (e.g., "user")
19 pub r#type: String,
20
21 /// Message content text
22 pub content: String,
23
24 /// The broadcaster's channel to send the message in
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub broadcaster_user_id: Option<u64>,
27
28 /// ID of message to reply to
29 #[serde(skip_serializing_if = "Option::is_none")]
30 pub reply_to_message_id: Option<String>,
31}
32
33/// Response from sending a chat message
34#[derive(Debug, Clone, Deserialize)]
35pub struct SendMessageResponse {
36 /// Whether the message was successfully sent
37 pub is_sent: bool,
38
39 /// The ID of the sent message
40 pub message_id: String,
41}