Initial commit

This commit is contained in:
2026-01-02 17:39:56 +03:00
parent 3e51b1f95e
commit ac03de4db5
17 changed files with 690 additions and 416 deletions
+25 -8
View File
@@ -8,12 +8,19 @@ from aiogram_dialog import setup_dialogs
from dishka import make_async_container
from dishka.integrations.aiogram import setup_dishka
from trudex.application.bot.admin_dialogs.broadcast import broadcast_dialog as admin_broadcast_dialog
from trudex.application.bot.admin_dialogs.main_menu import admin_menu_dialog
from trudex.application.bot.admin_dialogs.tests import tests_dialog as admin_tests_dialog
from trudex.application.bot.admin_dialogs.users import users_dialog as admin_users_dialog
from trudex.application.bot.creator_dialogs.broadcast import broadcast_dialog as creator_broadcast_dialog
from trudex.application.bot.creator_dialogs.main_menu import creator_menu_dialog
from trudex.application.bot.creator_dialogs.tests import tests_dialog as creator_tests_dialog
from trudex.application.bot.creator_dialogs.users import users_dialog as creator_users_dialog
from trudex.application.bot.handlers import router
from trudex.application.bot.middlewares.reject_not_admin import RejectNotAdminMiddleware
from trudex.application.bot.middlewares.reject_not_creator import RejectNotCreatorMiddleware
from trudex.application.bot.user_dialogs.main_menu import user_menu_dialog
from trudex.infrastructure.database.repo.user import UserRepository
from trudex.infrastructure.di import DatabaseProvider
from trudex.infrastructure.utils.bot_commands import setup_bot_commands
from trudex.infrastructure.utils.config import Config
@@ -33,23 +40,33 @@ async def main() -> None:
)
dp = Dispatcher()
dp.message.middleware(RejectNotAdminMiddleware())
dp.message.middleware(RejectNotCreatorMiddleware())
dp.include_router(router)
dp.include_router(user_menu_dialog)
dp.include_router(admin_menu_dialog)
dp.include_router(creator_menu_dialog)
dp.include_routers(
router,
user_menu_dialog,
admin_menu_dialog,
admin_users_dialog,
admin_tests_dialog,
admin_broadcast_dialog,
creator_menu_dialog,
creator_users_dialog,
creator_tests_dialog,
creator_broadcast_dialog,
)
router.message.middleware(RejectNotAdminMiddleware())
router.message.middleware(RejectNotCreatorMiddleware())
container = make_async_container(DatabaseProvider())
setup_dishka(container, dp, auto_inject=True)
setup_dialogs(dp)
setup_dishka(container, dp, auto_inject=True)
async with container() as request_container:
from trudex.infrastructure.database.repo.user import UserRepository
user_repo = await request_container.get(UserRepository)
await setup_bot_commands(bot, config, user_repo)
await bot.delete_webhook(drop_pending_updates=True)
logging.info("Бот запущен")
try: