pub struct PrivmsgMessage {Show 13 fields
pub channel_login: String,
pub channel_id: String,
pub message_text: String,
pub is_action: bool,
pub sender: TwitchUserBasics,
pub badge_info: Vec<Badge>,
pub badges: Vec<Badge>,
pub bits: Option<u64>,
pub name_color: Option<RGBColor>,
pub emotes: Vec<Emote>,
pub message_id: String,
pub server_timestamp: DateTime<Utc>,
pub source: IRCMessage,
}
Expand description
A regular Twitch chat message.
Fields§
§channel_login: String
Login name of the channel that the message was sent to.
channel_id: String
ID of the channel that the message was sent to.
message_text: String
The message text that was sent.
is_action: bool
Whether this message was made using the /me
command.
These type of messages are typically fully colored with name_color
and
have no :
separating the sending user and the message.
The message_text
does not contain the /me
command or the control sequence
(\x01ACTION <msg>\x01
) that is used for these action messages.
sender: TwitchUserBasics
The user that sent this message.
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.
bits: Option<u64>
If present, specifies how many bits were cheered with this message.
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.
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.
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 PrivmsgMessage
was parsed from.
Trait Implementations§
Source§impl Clone for PrivmsgMessage
impl Clone for PrivmsgMessage
Source§fn clone(&self) -> PrivmsgMessage
fn clone(&self) -> PrivmsgMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PrivmsgMessage
impl Debug for PrivmsgMessage
Source§impl<'de> Deserialize<'de> for PrivmsgMessage
impl<'de> Deserialize<'de> for PrivmsgMessage
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<PrivmsgMessage> for IRCMessage
impl From<PrivmsgMessage> for IRCMessage
Source§fn from(msg: PrivmsgMessage) -> IRCMessage
fn from(msg: PrivmsgMessage) -> IRCMessage
Source§impl PartialEq for PrivmsgMessage
impl PartialEq for PrivmsgMessage
Source§impl ReplyToMessage for PrivmsgMessage
impl ReplyToMessage for PrivmsgMessage
Source§fn channel_login(&self) -> &str
fn channel_login(&self) -> &str
Source§fn message_id(&self) -> &str
fn message_id(&self) -> &str
id
tag.Source§impl Serialize for PrivmsgMessage
impl Serialize for PrivmsgMessage
Source§impl TryFrom<IRCMessage> for PrivmsgMessage
impl TryFrom<IRCMessage> for PrivmsgMessage
Source§type Error = ServerMessageParseError
type Error = ServerMessageParseError
Source§fn try_from(
source: IRCMessage,
) -> Result<PrivmsgMessage, ServerMessageParseError>
fn try_from( source: IRCMessage, ) -> Result<PrivmsgMessage, ServerMessageParseError>
impl Eq for PrivmsgMessage
impl StructuralPartialEq for PrivmsgMessage
Auto Trait Implementations§
impl Freeze for PrivmsgMessage
impl RefUnwindSafe for PrivmsgMessage
impl Send for PrivmsgMessage
impl Sync for PrivmsgMessage
impl Unpin for PrivmsgMessage
impl UnwindSafe for PrivmsgMessage
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