1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//! Types for the *m.typing* event.

use ruma_events_macros::ruma_event;
use ruma_identifiers::{RoomId, UserId};

ruma_event! {
    /// Informs the client of the list of users currently typing.
    TypingEvent {
        kind: Event,
        event_type: "m.typing",
        fields: {
            /// The unique identifier for the room associated with this event.
            ///
            /// `None` if the room is known through other means (such as this even being part of an
            /// event list scoped to a room in a `/sync` response)
            pub room_id: Option<RoomId>,
        },
        content: {
            /// The list of user IDs typing in this room, if any.
            pub user_ids: Vec<UserId>,
        },
    }
}