1use crate::Client;
4use crate::data::ChatMessage;
5use crate::error::Error;
6
7impl Client {
8 pub async fn get_chat_messages(&self, since: Option<i64>) -> Result<Vec<ChatMessage>, Error> {
12 let mut params = Vec::new();
13 let since_str;
14 if let Some(s) = since {
15 since_str = s.to_string();
16 params.push(("since", since_str.as_str()));
17 }
18 let data = self.get_response("getChatMessages", ¶ms).await?;
19 let messages = data
20 .get("chatMessages")
21 .and_then(|v| v.get("chatMessage"))
22 .cloned()
23 .unwrap_or_else(|| serde_json::Value::Array(vec![]));
24 Ok(serde_json::from_value(messages)?)
25 }
26
27 pub async fn add_chat_message(&self, message: &str) -> Result<(), Error> {
31 self.get_response("addChatMessage", &[("message", message)])
32 .await?;
33 Ok(())
34 }
35}