diff options
| author | Rapptz <[email protected]> | 2015-10-14 22:36:35 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2015-10-15 01:37:54 -0400 |
| commit | 16a20e5f2f7a5d2eb714e8f71edce223619007e2 (patch) | |
| tree | bcbc4fdf39c16573acedf41e2af97a89078bfdcb | |
| parent | Handle GUILD_ROLE_CREATE websocket events. (diff) | |
| download | discord.py-16a20e5f2f7a5d2eb714e8f71edce223619007e2.tar.xz discord.py-16a20e5f2f7a5d2eb714e8f71edce223619007e2.zip | |
Handle GUILD_ROLE_DELETE websocket events.
| -rw-r--r-- | discord/client.py | 10 | ||||
| -rw-r--r-- | docs/api.rst | 7 |
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 |