From cceb0e3ea3b2d6485557522473601c8a709912ad Mon Sep 17 00:00:00 2001 From: Fjerkroa Auto Date: Wed, 29 Mar 2023 17:26:43 +0200 Subject: [PATCH] Improve reloading on config change --- fjerkroa_bot/discord_bot.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/fjerkroa_bot/discord_bot.py b/fjerkroa_bot/discord_bot.py index 98cacdd..cceb2ce 100644 --- a/fjerkroa_bot/discord_bot.py +++ b/fjerkroa_bot/discord_bot.py @@ -40,16 +40,18 @@ class FjerkroaBot(commands.Bot): @classmethod def load_config(self, config_file: str = "config.toml"): - logging.info(f"config file {config_file} changed, reloading.") with open(config_file, encoding='utf-8') as file: return toml.load(file) def on_config_file_modified(self, event): if event.src_path == self.config_file: - self.config = self.load_config(self.config_file) - self.airesponder.config = self.config - for responder in self.aichannels.values(): - responder.config = self.config + new_config = self.load_config(self.config_file) + if repr(new_config) != repr(self.config): + logging.info(f"config file {self.config_file} changed, reloading.") + self.config = new_config + self.airesponder.config = self.config + for responder in self.aichannels.values(): + responder.config = self.config async def on_ready(self): print(f"We have logged in as {self.user}")