aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2015-10-14 22:36:35 -0400
committerRapptz <[email protected]>2015-10-15 01:37:54 -0400
commit16a20e5f2f7a5d2eb714e8f71edce223619007e2 (patch)
treebcbc4fdf39c16573acedf41e2af97a89078bfdcb
parentHandle GUILD_ROLE_CREATE websocket events. (diff)
downloaddiscord.py-16a20e5f2f7a5d2eb714e8f71edce223619007e2.tar.xz
discord.py-16a20e5f2f7a5d2eb714e8f71edce223619007e2.zip
Handle GUILD_ROLE_DELETE websocket events.
-rw-r--r--discord/client.py10
-rw-r--r--docs/api.rst7
2 files changed, 13 insertions, 4 deletions
diff --git a/discord/client.py b/discord/client.py
index 1b2bf9b8..268bb60c 100644
--- a/discord/client.py
+++ b/discord/client.py
@@ -114,7 +114,7 @@ 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_CREATE', 'GUILD_ROLE_DELETE'):
self.dispatch('socket_update', event, data)
else:
@@ -315,6 +315,14 @@ class ConnectionState(object):
server.roles.append(role)
self.dispatch('server_role_create', server, role)
+ def handle_guild_role_delete(self, data):
+ server = self._get_server(data.get('guild_id'))
+ if server is not None:
+ 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)
+
def get_channel(self, id):
if id is None:
return None
diff --git a/docs/api.rst b/docs/api.rst
index a276233d..2d5c73b7 100644
--- a/docs/api.rst
+++ b/docs/api.rst
@@ -161,11 +161,12 @@ to handle it, which defaults to log a traceback and ignore the exception.
:param server: The :class:`Server` that got created or deleted.
.. function:: on_server_role_create(server, role)
+ on_server_role_delete(server, role)
- Called when a :class:`Server` creates a new :class:`Role`.
+ Called when a :class:`Server` creates or deletes a new :class:`Role`.
- :param server: The :class:`Server` that was created.
- :param role: The :class:`Role` that was created.
+ :param server: The :class:`Server` that was created or deleted.
+ :param role: The :class:`Role` that was created or deleted.
Utility Functions