Delete messages from message cache when you leave the server.
This commit is contained in:
parent
f1f0e169e4
commit
7258a9e700
@ -43,7 +43,8 @@ class ConnectionState:
|
|||||||
self.email = None
|
self.email = None
|
||||||
self.servers = []
|
self.servers = []
|
||||||
self.private_channels = []
|
self.private_channels = []
|
||||||
self.messages = deque(maxlen=max_messages)
|
self.max_messages = max_messages
|
||||||
|
self.messages = deque(maxlen=self.max_messages)
|
||||||
self.dispatch = dispatch
|
self.dispatch = dispatch
|
||||||
|
|
||||||
def _get_message(self, msg_id):
|
def _get_message(self, msg_id):
|
||||||
@ -236,6 +237,9 @@ class ConnectionState:
|
|||||||
|
|
||||||
def parse_guild_delete(self, data):
|
def parse_guild_delete(self, data):
|
||||||
server = self._get_server(data.get('id'))
|
server = self._get_server(data.get('id'))
|
||||||
|
if server is None:
|
||||||
|
return
|
||||||
|
|
||||||
if data.get('unavailable', False) and server is not None:
|
if data.get('unavailable', False) and server is not None:
|
||||||
# GUILD_DELETE with unavailable being True means that the
|
# GUILD_DELETE with unavailable being True means that the
|
||||||
# server that was available is now currently unavailable
|
# server that was available is now currently unavailable
|
||||||
@ -243,6 +247,9 @@ class ConnectionState:
|
|||||||
self.dispatch('server_unavailable', server)
|
self.dispatch('server_unavailable', server)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# do a cleanup of the messages cache
|
||||||
|
self.messages = deque((msg for msg in self.messages if msg.server != server), maxlen=self.max_messages)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.servers.remove(server)
|
self.servers.remove(server)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
@ -250,6 +257,7 @@ class ConnectionState:
|
|||||||
else:
|
else:
|
||||||
self.dispatch('server_remove', server)
|
self.dispatch('server_remove', server)
|
||||||
|
|
||||||
|
|
||||||
def parse_guild_ban_add(self, data):
|
def parse_guild_ban_add(self, data):
|
||||||
# we make the assumption that GUILD_BAN_ADD is done
|
# we make the assumption that GUILD_BAN_ADD is done
|
||||||
# before GUILD_MEMBER_REMOVE is called
|
# before GUILD_MEMBER_REMOVE is called
|
||||||
|
Loading…
x
Reference in New Issue
Block a user