[][src]Struct twitch_irc::message::PrivmsgMessage

pub struct PrivmsgMessage {
    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,
}

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 /delete <message_id> 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

impl Clone for PrivmsgMessage[src]

impl Debug for PrivmsgMessage[src]

impl From<PrivmsgMessage> for IRCMessage[src]

impl PartialEq<PrivmsgMessage> for PrivmsgMessage[src]

impl StructuralPartialEq for PrivmsgMessage[src]

impl TryFrom<IRCMessage> for PrivmsgMessage[src]

type Error = ServerMessageParseError

The type returned in the event of a conversion error.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,