aboutsummaryrefslogtreecommitdiff
path: root/discord/client.py
diff options
context:
space:
mode:
authorRapptz <[email protected]>2015-10-14 22:54:18 -0400
committerRapptz <[email protected]>2015-10-15 01:37:55 -0400
commit4ff7d22edd08e7d325fc7601fdd091ec74edfd88 (patch)
tree9df36966829768cd5019b6c986e22213182bd878 /discord/client.py
parentHandle GUILD_ROLE_DELETE websocket events. (diff)
downloaddiscord.py-4ff7d22edd08e7d325fc7601fdd091ec74edfd88.tar.xz
discord.py-4ff7d22edd08e7d325fc7601fdd091ec74edfd88.zip
Handle GUILD_ROLE_UPDATE websocket events.
Diffstat (limited to 'discord/client.py')
-rw-r--r--discord/client.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/discord/client.py b/discord/client.py
index 268bb60c..383ab54d 100644
--- a/discord/client.py
+++ b/discord/client.py
@@ -114,7 +114,8 @@ class WebSocket(WebSocketBaseClient):
'CHANNEL_DELETE', 'CHANNEL_UPDATE', 'CHANNEL_CREATE',
'GUILD_MEMBER_ADD', 'GUILD_MEMBER_REMOVE',
'GUILD_MEMBER_UPDATE', 'GUILD_CREATE', 'GUILD_DELETE',
- 'GUILD_ROLE_CREATE', 'GUILD_ROLE_DELETE'):
+ 'GUILD_ROLE_CREATE', 'GUILD_ROLE_DELETE',
+ 'GUILD_ROLE_UPDATE'):
self.dispatch('socket_update', event, data)
else:
@@ -321,7 +322,15 @@ class ConnectionState(object):
role_id = data.get('role_id')
role = utils.find(lambda r: r.id == role_id, server.roles)
server.roles.remove(role)
- self.dispatch('server_role_delete', server, role)
+ self.dispatch('server_role_delete', server, role)
+
+ def handle_guild_role_update(self, data):
+ server = self._get_server(data.get('guild_id'))
+ if server is not None:
+ role_id = data['role']['id']
+ role = utils.find(lambda r: r.id == role_id, server.roles)
+ role.update(**data['role'])
+ self.dispatch('server_role_update', role)
def get_channel(self, id):
if id is None: