diff --git a/discord/raw_models.py b/discord/raw_models.py index 26247ca32..103d148a0 100644 --- a/discord/raw_models.py +++ b/discord/raw_models.py @@ -112,6 +112,9 @@ class RawReactionActionEvent(_RawReprMixin): """Represents the payload for a :func:`on_raw_reaction_add` or :func:`on_raw_reaction_remove` event. + .. versionchanged:: 1.3.0 + The ``event_type`` attribute was added. + Attributes ----------- message_id: :class:`int` @@ -124,15 +127,20 @@ class RawReactionActionEvent(_RawReprMixin): The guild ID where the reaction got added or removed, if applicable. emoji: :class:`PartialEmoji` The custom or unicode emoji being used. + event_type: :class:`str` + The event type that triggered this action. Can be + ``REACTION_ADD`` for reaction addition or + ``REACTION_REMOVE`` for reaction removal. """ __slots__ = ('message_id', 'user_id', 'channel_id', 'guild_id', 'emoji') - def __init__(self, data, emoji): + def __init__(self, data, emoji, event_type): self.message_id = int(data['message_id']) self.channel_id = int(data['channel_id']) self.user_id = int(data['user_id']) self.emoji = emoji + self.event_type = event_type try: self.guild_id = int(data['guild_id']) diff --git a/discord/state.py b/discord/state.py index 9137da083..fc7ea7fa5 100644 --- a/discord/state.py +++ b/discord/state.py @@ -437,7 +437,7 @@ class ConnectionState: emoji_data = data['emoji'] emoji_id = utils._get_as_snowflake(emoji_data, 'id') emoji = PartialEmoji.with_state(self, animated=emoji_data['animated'], id=emoji_id, name=emoji_data['name']) - raw = RawReactionActionEvent(data, emoji) + raw = RawReactionActionEvent(data, emoji, 'REACTION_ADD') self.dispatch('raw_reaction_add', raw) # rich interface here @@ -463,7 +463,7 @@ class ConnectionState: emoji_data = data['emoji'] emoji_id = utils._get_as_snowflake(emoji_data, 'id') emoji = PartialEmoji.with_state(self, animated=emoji_data['animated'], id=emoji_id, name=emoji_data['name']) - raw = RawReactionActionEvent(data, emoji) + raw = RawReactionActionEvent(data, emoji, 'REACTION_REMOVE') self.dispatch('raw_reaction_remove', raw) message = self._get_message(raw.message_id)