pub struct UserStateMessage {
pub channel_login: String,
pub user_name: String,
pub badge_info: Vec<Badge>,
pub badges: Vec<Badge>,
pub emote_sets: HashSet<String>,
pub name_color: Option<RGBColor>,
pub source: IRCMessage,
}
Expand description
Sent when you join a channel or when you successfully sent a PRIVMSG
message to a channel.
This specifies details about the logged in user in a given channel.
This message is similar to GLOBALUSERSTATE
, but carries the context of a channel_login
(and therefore possibly different badges
and badge_info
) and omits the user_id
.
Fields§
§channel_login: String
Login name of the channel this USERSTATE
message specifies the logged in user’s state in.
user_name: String
(Display) name of the logged in user.
badge_info: Vec<Badge>
Metadata related to the chat badges in the badges
tag.
Currently this is used only for subscriber
, to indicate the exact number of months
the user has been a subscriber. This number is finer grained than the version number in
badges. For example, a user who has been a subscriber for 45 months would have a
badge_info
value of 45 but might have a badges
version
number for only 3 years.
badges: Vec<Badge>
List of badges the logged in user has in this channel.
emote_sets: HashSet<String>
List of emote set IDs the logged in user has available. This always contains at least 0.
name_color: Option<RGBColor>
What name color the logged in user has chosen. The same color is used in all channels.
source: IRCMessage
The message that this UserStateMessage
was parsed from.
Trait Implementations§
Source§impl Clone for UserStateMessage
impl Clone for UserStateMessage
Source§fn clone(&self) -> UserStateMessage
fn clone(&self) -> UserStateMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for UserStateMessage
impl Debug for UserStateMessage
Source§impl<'de> Deserialize<'de> for UserStateMessage
impl<'de> Deserialize<'de> for UserStateMessage
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<UserStateMessage> for IRCMessage
impl From<UserStateMessage> for IRCMessage
Source§fn from(msg: UserStateMessage) -> IRCMessage
fn from(msg: UserStateMessage) -> IRCMessage
Source§impl PartialEq for UserStateMessage
impl PartialEq for UserStateMessage
Source§impl Serialize for UserStateMessage
impl Serialize for UserStateMessage
Source§impl TryFrom<IRCMessage> for UserStateMessage
impl TryFrom<IRCMessage> for UserStateMessage
Source§type Error = ServerMessageParseError
type Error = ServerMessageParseError
Source§fn try_from(
source: IRCMessage,
) -> Result<UserStateMessage, ServerMessageParseError>
fn try_from( source: IRCMessage, ) -> Result<UserStateMessage, ServerMessageParseError>
impl Eq for UserStateMessage
impl StructuralPartialEq for UserStateMessage
Auto Trait Implementations§
impl Freeze for UserStateMessage
impl RefUnwindSafe for UserStateMessage
impl Send for UserStateMessage
impl Sync for UserStateMessage
impl Unpin for UserStateMessage
impl UnwindSafe for UserStateMessage
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