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: StringLogin name of the channel that the message was sent to.
channel_id: StringID of the channel that the message was sent to.
message_text: StringThe message text that was sent.
is_action: boolWhether 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: TwitchUserBasicsThe 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: 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 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