mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-04-22 08:44:10 +00:00
[commands] Add special extension function 'teardown' for clean-up.
This is to support people who want to clean up some external resource that the extension is maintaining outside of a cog, where __unload should be used instead. The callable is the antipode of 'setup' and takes the same sole parameter, the bot, after all commands, events, and cogs have been unloaded. Fixes #405.
This commit is contained in:
parent
bafaf72c89
commit
6d88024f0f
@ -764,10 +764,20 @@ class Bot(GroupMixin, discord.Client):
|
||||
for index in reversed(remove):
|
||||
del event_list[index]
|
||||
|
||||
# finally remove the import..
|
||||
del lib
|
||||
del self.extensions[name]
|
||||
del sys.modules[name]
|
||||
try:
|
||||
func = getattr(lib, 'teardown')
|
||||
except AttributeError:
|
||||
pass
|
||||
else:
|
||||
try:
|
||||
func(bot)
|
||||
except:
|
||||
pass
|
||||
finally:
|
||||
# finally remove the import..
|
||||
del lib
|
||||
del self.extensions[name]
|
||||
del sys.modules[name]
|
||||
|
||||
# command processing
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user