Skip to main content

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}