From 5c5a59c18e41538bee44ed85b7cf1806e830623d Mon Sep 17 00:00:00 2001 From: Rapptz Date: Sat, 16 Dec 2017 21:36:39 -0500 Subject: Add Client.clear to clear the bot's internal state to a clean slate. In case you want to have some external restart loop. --- discord/client.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'discord/client.py') diff --git a/discord/client.py b/discord/client.py index deede9cc..1bc06d90 100644 --- a/discord/client.py +++ b/discord/client.py @@ -462,6 +462,18 @@ class Client: yield from self.http.close() self._ready.clear() + def clear(self): + """Clears the internal state of the bot. + + After this, the bot can be considered "re-opened", i.e. :meth:`.is_closed` + and :meth:`.is_ready` both return ``False`` along with the bot's internal + cache cleared. + """ + self._closed.clear() + self._ready.clear() + self._connection.clear() + self._http.recreate() + @asyncio.coroutine def start(self, *args, **kwargs): """|coro| -- cgit v1.2.3