From 9ebbfd4fbb52478e3f163996cbae95eb64e16fd6 Mon Sep 17 00:00:00 2001
From: anima
Date: Wed, 28 Oct 2026 21:41:59 +0100
Subject: [PATCH] add missing docstings and type annotations
---
main.py | 37 ++++++++++++++++++++++---------------
1 file changed, 22 insertions(+), 15 deletions(-)
diff --git a/main.py b/main.py
index 1bac7a5..0091e0e 100644
--- a/main.py
+++ b/main.py
@@ -15,7 +15,8 @@ class MatrixBot:
__AUTHOR__ = 'anima'
__VERSION__ = '0.6.3'
def __init__(self, config_file: str = 'bot.conf', session_file: str = 'session.tmp') -> None:
- """
+ """Initialize the MatrixBot instance.
+
Args:
config_file (str, optional): path to config file
session_file (str, optional): path to session file
@@ -36,7 +37,11 @@ class MatrixBot:
exit(1)
def _load_config(self) -> bool:
- """load given config file"""
+ """Load given config file.
+
+ Returns:
+ bool: True if config file was loaded successfully
+ """
if not os.path.exists(self.config_file):
return False
logging.info(f'load config from file {self.config_file}')
@@ -52,7 +57,7 @@ class MatrixBot:
return True
def _save_session(self) -> bool:
- """save session data as file
+ """Save session data as file.
Returns:
bool: True if file was saved
@@ -68,10 +73,10 @@ class MatrixBot:
return True
def _load_session(self) -> bool:
- """load session date from file
+ """Load session date from file.
Returns:
- bool: True if file was found and load
+ bool: True if file was found and loaded
"""
if not os.path.exists(self.session_file):
return False
@@ -84,7 +89,7 @@ class MatrixBot:
return True
async def _login(self) -> bool:
- """restore login with session file or run full login process
+ """Restore login with session file or run full login process.
Returns:
bool: True when bot has a valid login
@@ -106,20 +111,20 @@ class MatrixBot:
return True
return False
- def _find_skills(self):
- """search all modules in skill folder and init these"""
+ def _find_skills(self) -> None:
+ """Search all modules in skill folder and init these."""
skills_path = pathlib.Path(__file__).parent / "skills"
for module in skills_path.iterdir():
if module.is_dir() and (module / "__init__.py").exists():
importlib.import_module(f"skills.{module.name}")
- async def _activate_skills(self):
- """activate all skills which defined in config file"""
+ async def _activate_skills(self) -> None:
+ """Activate all skills which defined in config file."""
for skill in self._config['skills'].keys():
await self.load_skill(skill_name=skill, config=self._config['skills'][skill])
async def load_skill(self, skill_name: str, config: dict = None) -> bool:
- """load skill from skill registry
+ """Load skill from skill registry.
Args:
skill_name (str): name of skill (same as classname)
@@ -136,24 +141,26 @@ class MatrixBot:
self.skills.append(skill)
return True
- def unload_skill(self):
+ def unload_skill(self) -> None:
+ """Unload a skill."""
pass
async def send_status(self, message: str) -> bool:
- """send a message to a predefined room
+ """Send a message to a predefined room.
Args:
message (str): message content
Returns:
- bool: True if message send
+ bool: True if message sent
"""
if self.silence:
return False
await self.helper.send_message(f"{self._config['general']['status_room']}:{self.domain}", message)
return True
- async def run(self):
+ async def run(self) -> None:
+ """Run the bot."""
if await self._login():
del self.__password
await self.send_status(f"{self.botname} Online!")