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§
Source§impl Clone for UserNoticeMessage
impl Clone for UserNoticeMessage
Source§fn clone(&self) -> UserNoticeMessage
fn clone(&self) -> UserNoticeMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for UserNoticeMessage
impl Debug for UserNoticeMessage
Source§impl<'de> Deserialize<'de> for UserNoticeMessage
impl<'de> Deserialize<'de> for UserNoticeMessage
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<UserNoticeMessage> for IRCMessage
impl From<UserNoticeMessage> for IRCMessage
Source§fn from(msg: UserNoticeMessage) -> IRCMessage
fn from(msg: UserNoticeMessage) -> IRCMessage
Source§impl PartialEq for UserNoticeMessage
impl PartialEq for UserNoticeMessage
Source§impl Serialize for UserNoticeMessage
impl Serialize for UserNoticeMessage
Source§impl TryFrom<IRCMessage> for UserNoticeMessage
impl TryFrom<IRCMessage> for UserNoticeMessage
Source§type Error = ServerMessageParseError
type Error = ServerMessageParseError
Source§fn try_from(
source: IRCMessage,
) -> Result<UserNoticeMessage, ServerMessageParseError>
fn try_from( source: IRCMessage, ) -> Result<UserNoticeMessage, ServerMessageParseError>
impl Eq for UserNoticeMessage
impl StructuralPartialEq for UserNoticeMessage
Auto Trait Implementations§
impl Freeze for UserNoticeMessage
impl RefUnwindSafe for UserNoticeMessage
impl Send for UserNoticeMessage
impl Sync for UserNoticeMessage
impl Unpin for UserNoticeMessage
impl UnwindSafe for UserNoticeMessage
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