aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--discord/client.py17
1 files changed, 8 insertions, 9 deletions
diff --git a/discord/client.py b/discord/client.py
index 9627adb7..f1a8a79d 100644
--- a/discord/client.py
+++ b/discord/client.py
@@ -356,18 +356,17 @@ class ConnectionState(object):
self.dispatch('server_join', self.servers[-1])
def handle_guild_delete(self, data):
- if data.get('unavailable', False):
+ server = self._get_server(data.get('id'))
+ if data.get('unavailable', False) and server is not None:
# GUILD_DELETE with unavailable being True means that the
# server that was available is now currently unavailable
- server = self._get_server(data.get('id'))
- if server is not None:
- server.unavailable = True
- self.dispatch('server_unavailable', server)
- return
+ server.unavailable = True
+ self.dispatch('server_unavailable', server)
+ return
- server = self._get_server(data.get('id'))
- self.servers.remove(server)
- self.dispatch('server_remove', server)
+ if server in self.servers:
+ self.servers.remove(server)
+ self.dispatch('server_remove', server)
def handle_guild_role_create(self, data):
server = self._get_server(data.get('guild_id'))