aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2015-09-25 14:48:45 -0400
committerRapptz <[email protected]>2015-09-25 14:48:45 -0400
commit850d0246842d0e564e3b9e652571ee0b46cd9ee6 (patch)
treeca3627871c090cacf2d09387c9e191f871c3911d
parentMost functions should now return something more meaningful. (diff)
downloaddiscord.py-850d0246842d0e564e3b9e652571ee0b46cd9ee6.tar.xz
discord.py-850d0246842d0e564e3b9e652571ee0b46cd9ee6.zip
PRESENCE_UPDATE now updates the user as well.
This means that it calls on_member_update just like the GUILD_MEMBER_UPDATE event in an effort to keep some backwards compat.
-rw-r--r--discord/client.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/discord/client.py b/discord/client.py
index 16ee319d..b914af8f 100644
--- a/discord/client.py
+++ b/discord/client.py
@@ -271,13 +271,18 @@ class Client(object):
server = self._get_server(data.get('guild_id'))
if server is not None:
status = data.get('status')
- member_id = data['user']['id']
+ user = data['user']
+ member_id = user['id']
member = utils.find(lambda m: m.id == member_id, server.members)
if member is not None:
member.status = data.get('status')
member.game_id = data.get('game_id')
+ member.name = user.get('username', member.name)
+ member.avatar = user.get('avatar', member.avatar)
+
# call the event now
self._invoke_event('on_status', member)
+ self._invoke_event('on_member_update', member)
elif event == 'USER_UPDATE':
self.user = User(**data)
elif event == 'CHANNEL_DELETE':