aboutsummaryrefslogtreecommitdiff
path: root/discord/state.py
diff options
context:
space:
mode:
Diffstat (limited to 'discord/state.py')
-rw-r--r--discord/state.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/discord/state.py b/discord/state.py
index 210408b2..10208d3b 100644
--- a/discord/state.py
+++ b/discord/state.py
@@ -456,6 +456,13 @@ class ConnectionState:
emoji_id = utils._get_as_snowflake(emoji, 'id')
emoji = PartialEmoji.with_state(self, animated=emoji.get('animated', False), id=emoji_id, name=emoji['name'])
raw = RawReactionActionEvent(data, emoji, 'REACTION_ADD')
+
+ member_data = data.get('member')
+ if member_data:
+ guild = self._get_guild(raw.guild_id)
+ raw.member = Member(data=member_data, guild=guild, state=self)
+ else:
+ raw.member = None
self.dispatch('raw_reaction_add', raw)
# rich interface here
@@ -463,7 +470,8 @@ class ConnectionState:
if message is not None:
emoji = self._upgrade_partial_emoji(emoji)
reaction = message._add_reaction(data, emoji, raw.user_id)
- user = self._get_reaction_user(message.channel, raw.user_id)
+ user = raw.member or self._get_reaction_user(message.channel, raw.user_id)
+
if user:
self.dispatch('reaction_add', reaction, user)