routers.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from aiogram import Router
  2. from anonflow.bot.routers import MediaRouter, StartRouter, TextRouter
  3. from anonflow.bot.transport import ResponsesRouter
  4. from anonflow.config import Config
  5. from anonflow.moderation import ModerationService
  6. from anonflow.services import ModeratorService, UserService
  7. def build_routers(
  8. config: Config,
  9. responses_router: ResponsesRouter,
  10. user_service: UserService,
  11. moderator_service: ModeratorService,
  12. moderation_service: ModerationService,
  13. ) -> Router:
  14. main_router = Router()
  15. routers = [
  16. StartRouter(
  17. responses_port=responses_router,
  18. user_service=user_service
  19. ),
  20. TextRouter(
  21. responses_port=responses_router,
  22. moderation_service=moderation_service,
  23. forwarding_types=config.forwarding.types
  24. ),
  25. MediaRouter(
  26. responses_port=responses_router,
  27. moderation_service=moderation_service,
  28. forwarding_types=config.forwarding.types,
  29. ),
  30. ]
  31. for router in routers:
  32. router.setup()
  33. main_router.include_routers(*routers)
  34. return main_router