From bbc50c92d006398496bfee098dad20087ea86b6f Mon Sep 17 00:00:00 2001 From: Rapptz Date: Wed, 10 Jul 2019 04:32:11 -0400 Subject: Add upgraded Member to Message.mentions in case of no cache. --- discord/message.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'discord/message.py') diff --git a/discord/message.py b/discord/message.py index 3d7e5a0b..eb6ab5c7 100644 --- a/discord/message.py +++ b/discord/message.py @@ -412,16 +412,20 @@ class Message: self.author = Member._from_message(message=self, data=member) def _handle_mentions(self, mentions): - self.mentions = [] - if self.guild is None: - self.mentions = [self._state.store_user(m) for m in mentions] + self.mentions = r = [] + guild = self.guild + state = self._state + if guild is None: + self.mentions = [state.store_user(m) for m in mentions] return for mention in filter(None, mentions): id_search = int(mention['id']) - member = self.guild.get_member(id_search) + member = guild.get_member(id_search) if member is not None: - self.mentions.append(member) + r.append(member) + else: + r.append(Member._try_upgrade(data=mention, guild=guild, state=state)) def _handle_mention_roles(self, role_mentions): self.role_mentions = [] -- cgit v1.2.3