from aiogram import Bot, Dispatcher from aiogram.client.default import DefaultBotProperties from aiogram.enums import ParseMode from aiogram_dialog import setup_dialogs from structlog import get_logger 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 logger = get_logger() 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) logger.info("Bot runned") await dp.start_polling(bot)