[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,6 +764,16 @@ class Bot(GroupMixin, discord.Client):
|
|||||||
for index in reversed(remove):
|
for index in reversed(remove):
|
||||||
del event_list[index]
|
del event_list[index]
|
||||||
|
|
||||||
|
try:
|
||||||
|
func = getattr(lib, 'teardown')
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
func(bot)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
finally:
|
||||||
# finally remove the import..
|
# finally remove the import..
|
||||||
del lib
|
del lib
|
||||||
del self.extensions[name]
|
del self.extensions[name]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user