misskey_api/streaming/
emoji.rs

1use 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}