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,
}
Expand description

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

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more