diff options
Diffstat (limited to 'discord/state.py')
| -rw-r--r-- | discord/state.py | 10 |
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) |