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: String

Login name of the channel that this message was sent to.

channel_id: String

ID of the channel that this message was sent to.

sender: TwitchUserBasics

The 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: String

A 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: UserNoticeEvent

this holds the event-specific data, e.g. for sub, resub, subgift, etc…

event_id: String

String 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: String

A 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: IRCMessage

The message that this UserNoticeMessage 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