Przeglądaj źródła

Refactor bot builder:
- Pass event_handler to routers
- Place StartRouter first to prevent override by TextRouter

Librellium 3 miesięcy temu
rodzic
commit
12118b6d32
1 zmienionych plików z 18 dodań i 15 usunięć
  1. 18 15
      anonflow/bot/builder.py

+ 18 - 15
anonflow/bot/builder.py

@@ -5,32 +5,35 @@ from aiogram import Router
 from anonflow.config import Config
 from anonflow.moderation import ModerationExecutor
 
-from .routers import MediaRouter, StartRouter, TextRouter
-from .utils import MessageManager, TemplateRenderer
+from .routers import InfoRouter, MediaRouter, StartRouter, TextRouter
+from .utils import EventHandler, MessageManager, TemplateRenderer
 
 
-def build(config: Config,
-          message_manager: MessageManager,
-          template_renderer: TemplateRenderer,
-          executor: Optional[ModerationExecutor] = None):
+def build(
+    config: Config,
+    message_manager: MessageManager,
+    template_renderer: TemplateRenderer,
+    executor: Optional[ModerationExecutor] = None,
+    event_handler: Optional[EventHandler] = None
+):
     main_router = Router()
 
     main_router.include_routers(
-        StartRouter(
-            template_renderer=template_renderer
-        ),
-        TextRouter(
+        StartRouter(template_renderer=template_renderer),
+        InfoRouter(template_renderer=template_renderer),
+        MediaRouter(
             config=config,
             message_manager=message_manager,
             template_renderer=template_renderer,
-            moderation_executor=executor
+            moderation_executor=executor,
         ),
-        MediaRouter(
+        TextRouter(
             config=config,
             message_manager=message_manager,
             template_renderer=template_renderer,
-            moderation_executor=executor
-        )
+            moderation_executor=executor,
+            event_handler=event_handler
+        ),
     )
 
-    return main_router
+    return main_router