import asyncio from aiogram import Bot, Dispatcher from aiogram.client.default import DefaultBotProperties from aiogram.enums import ParseMode from aiogram_dialog import setup_dialogs from app.bot.dialogs.flows import dialogs_router from app.bot.handlers.commands import commands_router from app.bot.middlewares import DbSessionMiddleware, GetUserMiddleware from config.config import settings bot = Bot( token=settings.bot_token, default=DefaultBotProperties(parse_mode=ParseMode.MARKDOWN_V2), ) dp = Dispatcher() async def main(): setup_dialogs(dp) dp.update.outer_middleware(DbSessionMiddleware()) dp.update.outer_middleware(GetUserMiddleware()) dp.include_router(commands_router) dp.include_router(dialogs_router) await dp.start_polling(bot) if __name__ == "__main__": asyncio.run(main())