misskey_api/streaming/
emoji.rs1use crate::model::emoji::Emoji;
2
3use serde::Deserialize;
4
5#[derive(Deserialize, Debug, Clone)]
6#[serde(rename_all = "camelCase")]
7pub struct EmojiAddedEvent {
8 pub emoji: Emoji,
9}
10
11impl misskey_core::streaming::BroadcastEvent for EmojiAddedEvent {
12 const TYPE: &'static str = "emojiAdded";
13}
14
15#[cfg(test)]
16mod tests {
17 use super::EmojiAddedEvent;
18 use crate::test::{websocket::TestClient, ClientExt};
19
20 use futures::{future, StreamExt};
21
22 #[tokio::test]
23 async fn broadcast() {
24 let client = TestClient::new().await;
25 let url = client.avatar_url().await;
26
27 let mut stream = client.broadcast::<EmojiAddedEvent>().await.unwrap();
28
29 future::join(client.admin.add_emoji_from_url(url), async {
30 stream.next().await.unwrap().unwrap()
31 })
32 .await;
33 }
34}