From f993f584448e789d35d40e91d61da318ba42ead7 Mon Sep 17 00:00:00 2001 From: khuxkm fbexl Date: Tue, 21 Mar 2023 18:46:09 +0000 Subject: [PATCH] Add hook on exit --- commands/admin.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/commands/admin.py b/commands/admin.py index 549d4e8..119ca92 100644 --- a/commands/admin.py +++ b/commands/admin.py @@ -1,4 +1,16 @@ -import plugin, subprocess +import plugin, subprocess, atexit + +HOOKED=False + +def saved(bot): + bot.tasks.save_state(0) + +@plugin.listener +def hook(self,*args): + global HOOKED + if HOOKED: return + HOOKED=True + atexit.register(saved,self) @plugin.group("admin") def admin(self,channel,nick,subcmd,*args): @@ -8,6 +20,7 @@ def admin(self,channel,nick,subcmd,*args): @admin.command("down") def admin_down(self,channel,nick,subcmd,*args): + if HOOKED: atexit.unregister(saved) self.tasks.stop() self.tasks.save_state(0) self._bot.die("Stopping...") @@ -27,6 +40,7 @@ def admin_save(self,channel,nick,subcmd,*args): @admin.command("reload") def reloadPlugins(bot,channel,nick,*args): + if HOOKED: atexit.unregister(saved) bot.load_modules() @admin.command("ping")