[][src]Struct serenity::model::channel::Reaction

pub struct Reaction {
    pub channel_id: ChannelId,
    pub emoji: ReactionType,
    pub message_id: MessageId,
    pub user_id: Option<UserId>,
    pub guild_id: Option<GuildId>,
    // some fields omitted
}

An emoji reaction to a message.

Fields

channel_id: ChannelId

The Channel of the associated Message.

emoji: ReactionType

The reactive emoji used.

message_id: MessageId

The Id of the Message that was reacted to.

user_id: Option<UserId>

The Id of the User that sent the reaction.

Set to None by Message::react when cache is not available.

guild_id: Option<GuildId>

The optional Id of the Guild where the reaction was sent.

Implementations

impl Reaction[src]

pub async fn channel<'_>(
    &'_ self,
    cache_http: impl CacheHttp
) -> Result<Channel>
[src]

Retrieves the associated the reaction was made in.

If the cache is enabled, this will search for the already-cached channel. If not - or the channel was not found - this will perform a request over the REST API for the channel.

Requires the Read Message History permission.

pub async fn delete<'_>(&'_ self, cache_http: impl CacheHttp) -> Result<()>[src]

Deletes the reaction, but only if the current user is the user who made the reaction or has permission to.

Requires the Manage Messages permission, if the current user did not perform the reaction.

Errors

If the cache is enabled, then returns a ModelError::InvalidPermissions if the current user does not have the required permissions.

pub async fn delete_all<'_>(&'_ self, cache_http: impl CacheHttp) -> Result<()>[src]

Deletes all reactions from the message with this emoji.

Requires the Manage Messages permission

Errors

If the cache is enabled, then returns a ModelError::InvalidPermissions if the current user does not have the required permissions.

pub async fn message<'_>(&'_ self, http: impl AsRef<Http>) -> Result<Message>[src]

Retrieves the Message associated with this reaction.

Requires the Read Message History permission.

Note: This will send a request to the REST API. Prefer maintaining your own message cache or otherwise having the message available if possible.

pub async fn user<'_>(&'_ self, cache_http: impl CacheHttp) -> Result<User>[src]

Retrieves the user that made the reaction.

If the cache is enabled, this will search for the already-cached user. If not - or the user was not found - this will perform a request over the REST API for the user.

pub async fn users<R, U, '_>(
    &'_ self,
    http: impl AsRef<Http>,
    reaction_type: R,
    limit: Option<u8>,
    after: Option<U>
) -> Result<Vec<User>> where
    R: Into<ReactionType>,
    U: Into<UserId>, 
[src]

Retrieves the list of Users who have reacted to a Message with a certain Emoji.

The default limit is 50 - specify otherwise to receive a different maximum number of users. The maximum that may be retrieve at a time is 100, if a greater number is provided then it is automatically reduced.

The optional after attribute is to retrieve the users after a certain user. This is useful for pagination.

Requires the Read Message History permission.

Note: This will send a request to the REST API.

Errors

Returns a ModelError::InvalidPermissions if the current user does not have the required permissions.

Trait Implementations

impl Clone for Reaction[src]

impl Debug for Reaction[src]

impl<'de> Deserialize<'de> for Reaction[src]

impl Serialize for Reaction[src]

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> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[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>, 

impl<T> WithSubscriber for T[src]