diff options
| author | Rapptz <[email protected]> | 2015-12-14 23:26:22 -0500 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2015-12-14 23:26:22 -0500 |
| commit | 7f0a04829985fe2802520765639a14279bb953a2 (patch) | |
| tree | f8ad770414c0ecde55a6e670fb1c9d9204b7f47f | |
| parent | Client.run now does cleanup when KeyboardInterrupt is encountered. (diff) | |
| download | discord.py-7f0a04829985fe2802520765639a14279bb953a2.tar.xz discord.py-7f0a04829985fe2802520765639a14279bb953a2.zip | |
Fix GUILD_ROLE_DELETE triggering ValueError.
| -rw-r--r-- | discord/state.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/discord/state.py b/discord/state.py index 17b68314..ac9c9454 100644 --- a/discord/state.py +++ b/discord/state.py @@ -137,9 +137,10 @@ class ConnectionState: channel = utils.find(lambda c: c.id == channel_id, server.channels) try: server.channels.remove(channel) - self.dispatch('channel_delete', channel) except ValueError: return + else: + self.dispatch('channel_delete', channel) def parse_channel_update(self, data): server = self._get_server(data.get('guild_id')) @@ -179,9 +180,10 @@ class ConnectionState: member = utils.find(lambda m: m.id == user_id, server.members) try: server.members.remove(member) - self.dispatch('member_remove', member) except ValueError: return + else: + self.dispatch('member_remove', member) def parse_guild_member_update(self, data): server = self._get_server(data.get('guild_id')) @@ -242,9 +244,10 @@ class ConnectionState: try: self.servers.remove(server) - self.dispatch('server_remove', server) except ValueError: return + else: + self.dispatch('server_remove', server) def parse_guild_role_create(self, data): server = self._get_server(data.get('guild_id')) @@ -259,8 +262,12 @@ class ConnectionState: 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) + try: + server.roles.remove(role) + except ValueError: + return + else: + self.dispatch('server_role_delete', server, role) def parse_guild_role_update(self, data): server = self._get_server(data.get('guild_id')) |