aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2021-04-11 00:57:59 -0400
committerRapptz <[email protected]>2021-04-11 00:57:59 -0400
commit7d79b4ba559b1b4c41fe9c05fb3c57838c442c45 (patch)
tree39d294588f5539ab7e7813c48cad2c1b817d2847
parentFix stray AttributeError in Guild._from_data with member cache (diff)
downloaddiscord.py-7d79b4ba559b1b4c41fe9c05fb3c57838c442c45.tar.xz
discord.py-7d79b4ba559b1b4c41fe9c05fb3c57838c442c45.zip
Remove Member related handling in PRESENCE_UPDATE
-rw-r--r--discord/member.py11
-rw-r--r--discord/state.py16
2 files changed, 6 insertions, 21 deletions
diff --git a/discord/member.py b/discord/member.py
index 753780d9..62bdbfcc 100644
--- a/discord/member.py
+++ b/discord/member.py
@@ -263,17 +263,6 @@ class Member(discord.abc.Messageable, _BaseUser):
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)
- to_return = cls(data=data, guild=guild, state=state)
- to_return._client_status = {
- sys.intern(key): sys.intern(value)
- for key, value in data.get('client_status', {}).items()
- }
- to_return._client_status[None] = sys.intern(data['status'])
- return to_return, clone
-
- @classmethod
def _copy(cls, member):
self = cls.__new__(cls) # to bypass __init__
diff --git a/discord/state.py b/discord/state.py
index d35ff7df..fc6974d1 100644
--- a/discord/state.py
+++ b/discord/state.py
@@ -602,17 +602,13 @@ class ConnectionState:
member_id = int(user['id'])
member = guild.get_member(member_id)
if member is None:
- if 'username' not in user:
- # sometimes we receive 'incomplete' member data post-removal.
- # skip these useless cases.
- return
+ log.debug('PRESENCE_UPDATE referencing an unknown member ID: %s. Discarding', member_id)
+ return
- member, old_member = Member._from_presence_update(guild=guild, data=data, state=self)
- else:
- old_member = Member._copy(member)
- user_update = member._presence_update(data=data, user=user)
- if user_update:
- self.dispatch('user_update', user_update[0], user_update[1])
+ old_member = Member._copy(member)
+ user_update = member._presence_update(data=data, user=user)
+ if user_update:
+ self.dispatch('user_update', user_update[0], user_update[1])
self.dispatch('member_update', old_member, member)