[][src]Struct twitch_irc::message::RoomStateMessage

pub struct RoomStateMessage {
    pub channel_login: String,
    pub channel_id: String,
    pub emote_only: Option<bool>,
    pub follwers_only: Option<FollowersOnlyMode>,
    pub r9k: Option<bool>,
    pub slow_mode: Option<Duration>,
    pub subscribers_only: Option<bool>,
    pub source: IRCMessage,
}

Sent when a channel is initially joined or when a channel updates it state.

When a channel is initially is joined, a ROOMSTATE message is sent specifying all the settings. If any of these settings are updated while you are joined to a channel, a ROOMSTATE is sent only containing the new value for that particular setting. Other settings will be None.

Fields

channel_login: String

Login name of the channel whose "room state" is updated.

channel_id: String

ID of the channel whose "room state" is updated.

emote_only: Option<bool>

If present, specifies a new setting for the "emote only" mode. (Controlled by /emoteonly and /emoteonlyoff commands in chat)

If true, emote-only mode was enabled, if false emote-only mode was disabled.

In emote-only mode, users that are not moderator or VIP can only send messages that are completely composed of emotes.

follwers_only: Option<FollowersOnlyMode>

If present, specifies a new setting for followers-only mode. (Controlled by /followers and /followersoff commands in chat)

See the documentation on FollowersOnlyMode for more details on the possible settings.

r9k: Option<bool>

If present, specifies a new setting for the "r9k" beta mode (also sometimes called unique-chat mode, controlled by the /r9kbeta and /r9kbetaoff commands)

If true, r9k mode was enabled, if false r9k mode was disabled.

slow_mode: Option<Duration>

If present, specifies a new slow-mode setting. (Controlled by /slow and /slowoff commands).

A duration of 0 seconds specifies that slow mode was disabled. Any non-0 duration specifies the minimum time users must wait between sending individual messages. Slow-mode does not apply to moderators or VIPs, and in some cases does not apply to subscribers too (via a setting that the streamer controls).

Slow mode can only be controlled in increments of full seconds, so this Duration will only contains values that are whole multiples of 1 second.

subscribers_only: Option<bool>

If present, specifies a new setting for subscribers-only mode (/subscribers and /subscribersoff commands).

If true, subscribers-only mode was enabled, if false, it was disabled.

source: IRCMessage

The message that this RoomStateMessage was parsed from.

Trait Implementations

impl Clone for RoomStateMessage[src]

impl Debug for RoomStateMessage[src]

impl From<RoomStateMessage> for IRCMessage[src]

impl PartialEq<RoomStateMessage> for RoomStateMessage[src]

impl StructuralPartialEq for RoomStateMessage[src]

impl TryFrom<IRCMessage> for RoomStateMessage[src]

type Error = ServerMessageParseError

The type returned in the event of a conversion error.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,