From 54754e798136a21b1e002b529948d6356fb9fbb8 Mon Sep 17 00:00:00 2001 From: anima Date: Wed, 18 Feb 2026 01:10:25 +0100 Subject: [PATCH] make skills async --- main.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/main.py b/main.py index f0ea063..e14b8b9 100644 --- a/main.py +++ b/main.py @@ -31,7 +31,6 @@ class MatrixBot: if self._load_config(): self.client = AsyncClient(self.homeserver, self.username) self.helper = BotHelper(self.client) - self._activate_skills() else: logging.critical('no config file was found') exit(1) @@ -114,12 +113,12 @@ class MatrixBot: if module.is_dir() and (module / "__init__.py").exists(): importlib.import_module(f"skills.{module.name}") - def _activate_skills(self): + async def _activate_skills(self): """activate all skills which defined in config file""" for skill in self._config['skills'].keys(): - self.load_skill(skill_name=skill, config=self._config['skills'][skill]) + await self.load_skill(skill_name=skill, config=self._config['skills'][skill]) - def load_skill(self, skill_name: str, config: dict = None) -> bool: + async def load_skill(self, skill_name: str, config: dict = None) -> bool: """load skill from skill registry Args: @@ -133,7 +132,7 @@ class MatrixBot: return False logging.info(f'load skill {skill_name} version {Skill.registry[skill_name].__VERSION__}') skill = Skill.registry[skill_name](client=self.client, config=config) - skill.load() + await skill.load() self.skills.append(skill) return True @@ -157,6 +156,7 @@ class MatrixBot: async def run(self): if await self._login(): await self.send_status(f"{self.botname} Online!") + await self._activate_skills() await self.client.sync_forever(timeout=30000)