Struct twitch_irc::message::UserNoticeMessage  
source · [−]pub struct UserNoticeMessage {Show 14 fields
    pub channel_login: String,
    pub channel_id: String,
    pub sender: TwitchUserBasics,
    pub message_text: Option<String>,
    pub system_message: String,
    pub event: UserNoticeEvent,
    pub event_id: String,
    pub badge_info: Vec<Badge>,
    pub badges: Vec<Badge>,
    pub emotes: Vec<Emote>,
    pub name_color: Option<RGBColor>,
    pub message_id: String,
    pub server_timestamp: DateTime<Utc>,
    pub source: IRCMessage,
}Expand description
A Twitch USERNOTICE message.
The USERNOTICE message represents a wide variety of “rich events” in chat,
e.g. sub events, resubs, gifted subscriptions, incoming raids, etc.
See UserNoticeEvent for more details on all the different events.
Note that even though UserNoticeMessage has a message_id, you can NOT reply to these
messages or delete them. For this reason,
ReplyToMessage is not
implemented for UserNoticeMessage.
Fields
channel_login: StringLogin name of the channel that this message was sent to.
channel_id: StringID of the channel that this message was sent to.
sender: TwitchUserBasicsThe user that sent/triggered this message. Depending on the event (see below),
this user may or may not have any actual meaning (for some type of events, this
user is a dummy user).
Even if this user is not a dummy user, the meaning of what this user did depends on the
event that this USERNOTICE message represents. For example, in case of a raid,
this user is the user raiding the channel, in case of a sub, it’s the user
subscribing, etc…)
message_text: Option<String>If present, an optional message the user sent alongside the notification. Not all types of events can have message text.
Currently the only event that can a message is a resub, where this message text is the
message the user shared with the streamer alongside the resub message.
system_message: StringA system message that is always present and represents a user-presentable message of what this event is, for example “FuchsGewand subscribed with Twitch Prime. They’ve subscribed for 12 months, currently on a 9 month streak!”.
This message is always present and always fully pre-formatted by Twitch with this event’s parameters.
event: UserNoticeEventthis holds the event-specific data, e.g. for sub, resub, subgift, etc…
event_id: StringString identifying the type of event (msg-id tag). Can be used to manually parse
undocumented types of USERNOTICE messages.
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 that should be displayed alongside the message.
emotes: Vec<Emote>A list of emotes in this message. Each emote replaces a part of the message_text.
These emotes are sorted in the order that they appear in the message.
If message_text is None, this is an empty list and carries no information (since
there is no message, and therefore no emotes to display)
name_color: Option<RGBColor>If present, specifies the color that the user’s name should be displayed in. A value
of None here signifies that the user has not picked any particular color.
Implementations differ on how they handle this, on the Twitch website users are assigned
a pseudorandom but consistent-per-user color if they have no color specified.
message_id: StringA string uniquely identifying this message. Can be used with the Twitch API to
delete single messages. See also the CLEARMSG message type.
server_timestamp: DateTime<Utc>Timestamp of when this message was sent.
source: IRCMessageThe message that this UserNoticeMessage was parsed from.
Trait Implementations
sourceimpl Clone for UserNoticeMessage
 
impl Clone for UserNoticeMessage
sourcefn clone(&self) -> UserNoticeMessage
 
fn clone(&self) -> UserNoticeMessage
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moresourceimpl Debug for UserNoticeMessage
 
impl Debug for UserNoticeMessage
sourceimpl<'de> Deserialize<'de> for UserNoticeMessage
 
impl<'de> Deserialize<'de> for UserNoticeMessage
sourcefn 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>,
sourceimpl From<UserNoticeMessage> for IRCMessage
 
impl From<UserNoticeMessage> for IRCMessage
sourcefn from(msg: UserNoticeMessage) -> IRCMessage
 
fn from(msg: UserNoticeMessage) -> IRCMessage
sourceimpl PartialEq<UserNoticeMessage> for UserNoticeMessage
 
impl PartialEq<UserNoticeMessage> for UserNoticeMessage
sourcefn eq(&self, other: &UserNoticeMessage) -> bool
 
fn eq(&self, other: &UserNoticeMessage) -> bool
sourceimpl Serialize for UserNoticeMessage
 
impl Serialize for UserNoticeMessage
sourceimpl TryFrom<IRCMessage> for UserNoticeMessage
 
impl TryFrom<IRCMessage> for UserNoticeMessage
type Error = ServerMessageParseError
type Error = ServerMessageParseError
sourcefn try_from(
    source: IRCMessage
) -> Result<UserNoticeMessage, ServerMessageParseError>
 
fn try_from(
    source: IRCMessage
) -> Result<UserNoticeMessage, ServerMessageParseError>
impl Eq for UserNoticeMessage
impl StructuralEq for UserNoticeMessage
impl StructuralPartialEq for UserNoticeMessage
Auto Trait Implementations
impl RefUnwindSafe for UserNoticeMessage
impl Send for UserNoticeMessage
impl Sync for UserNoticeMessage
impl Unpin for UserNoticeMessage
impl UnwindSafe for UserNoticeMessage
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Q, K> Equivalent<K> for Qwhere
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized,
 
impl<Q, K> Equivalent<K> for Qwhere
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.