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/member.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'discord/member.py') diff --git a/discord/member.py b/discord/member.py index d7871066..bd65b237 100644 --- a/discord/member.py +++ b/discord/member.py @@ -192,6 +192,17 @@ class Member(discord.abc.Messageable, _BaseUser): data['user'] = author._to_minimal_user_json() return cls(data=data, guild=message.guild, state=message._state) + @classmethod + def _try_upgrade(cls, *, data, guild, state): + # A User object with a 'member' key + try: + member_data = data.pop('member') + except KeyError: + return state.store_user(member_data) + else: + member_data['user'] = data + return cls(data=member_data, guild=guild, state=state) + @classmethod def _from_presence_update(cls, *, data, guild, state): clone = cls(data=data, guild=guild, state=state) -- cgit v1.2.3