aboutsummaryrefslogtreecommitdiff
path: root/labbot/bot.py
diff options
context:
space:
mode:
Diffstat (limited to 'labbot/bot.py')
-rw-r--r--labbot/bot.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/labbot/bot.py b/labbot/bot.py
index 1361656..9b5d70b 100644
--- a/labbot/bot.py
+++ b/labbot/bot.py
@@ -1,6 +1,6 @@
import os.path
import sys
-from gidgetlab.aiohttp import GitLabBot
+from gidgetlab.aiohttp import GitLabBot # type: ignore
from importlib import import_module
import logging
@@ -12,9 +12,10 @@ log = logging.getLogger(__name__)
class Bot:
def __init__(self, *args, **kwargs):
- self.name = kwargs.get("name", "lab-bot")
+ self.name = kwargs.pop("name", "lab-bot")
+ self.access_token = kwargs.get("access_token")
self.secret = kwargs.get("secret", "")
- self.config = kwargs.get("config", labbot.config.read_instance_config(self.name))
+ self.config = kwargs.pop("config", labbot.config.read_instance_config(self.name))
self.addons = self.config.get("addons", [])
self.addon_paths = []
@@ -36,16 +37,19 @@ class Bot:
sys.path.remove(path)
- def load_addon(self, addon: str):
+ def load_addon(self, addon: str) -> None:
try:
import_module(f"{addon}").setup(self)
log.info(f"Loaded {addon}")
except ModuleNotFoundError:
log.error(f"No addon named `{addon}`")
- def register(self, func, *args, **kwargs):
+ def register(self, func, *args, **kwargs) -> None:
return self.instance.router.register(*args, **kwargs)(func)
- def run(self, *args, **kwargs):
+ def register_merge_hook(self, func, *args, **kwargs) -> None:
+ return self.instance.router.register("Merge Request Hook", *args, **kwargs)(func)
+
+ def run(self, *args, **kwargs) -> None:
log.info(f"Started {self.name}")
self.instance.run(*args, **kwargs) \ No newline at end of file