import asyncio import logging from aiogram import Bot, Dispatcher from aiogram.client.default import DefaultBotProperties from aiogram.enums import ParseMode from config.settings import settings from bot.handlers import start, vocabulary from database.db import init_db async def main(): """Главная функция запуска бота""" # Настройка логирования logging.basicConfig( level=logging.INFO if settings.debug else logging.WARNING, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) # Инициализация бота и диспетчера bot = Bot( token=settings.bot_token, default=DefaultBotProperties(parse_mode=ParseMode.HTML) ) dp = Dispatcher() # Регистрация роутеров dp.include_router(start.router) dp.include_router(vocabulary.router) # Инициализация базы данных await init_db() # Запуск бота logging.info("Бот запущен") await dp.start_polling(bot) if __name__ == '__main__': asyncio.run(main())