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§
Source§impl Clone for RoomStateMessage
impl Clone for RoomStateMessage
Source§fn clone(&self) -> RoomStateMessage
fn clone(&self) -> RoomStateMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for RoomStateMessage
impl Debug for RoomStateMessage
Source§impl<'de> Deserialize<'de> for RoomStateMessage
impl<'de> Deserialize<'de> for RoomStateMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<RoomStateMessage> for IRCMessage
impl From<RoomStateMessage> for IRCMessage
Source§fn from(msg: RoomStateMessage) -> IRCMessage
fn from(msg: RoomStateMessage) -> IRCMessage
Source§impl PartialEq for RoomStateMessage
impl PartialEq for RoomStateMessage
Source§impl Serialize for RoomStateMessage
impl Serialize for RoomStateMessage
Source§impl TryFrom<IRCMessage> for RoomStateMessage
impl TryFrom<IRCMessage> for RoomStateMessage
Source§type Error = ServerMessageParseError
type Error = ServerMessageParseError
Source§fn try_from(
source: IRCMessage,
) -> Result<RoomStateMessage, ServerMessageParseError>
fn try_from( source: IRCMessage, ) -> Result<RoomStateMessage, ServerMessageParseError>
impl Eq for RoomStateMessage
impl StructuralPartialEq for RoomStateMessage
Auto Trait Implementations§
impl Freeze for RoomStateMessage
impl RefUnwindSafe for RoomStateMessage
impl Send for RoomStateMessage
impl Sync for RoomStateMessage
impl Unpin for RoomStateMessage
impl UnwindSafe for RoomStateMessage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more