Files
tg_bot_language/main.py

43 lines
1.2 KiB
Python
Raw Normal View History

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, tasks
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)
dp.include_router(tasks.router)
# Инициализация базы данных
await init_db()
# Запуск бота
logging.info("Бот запущен")
await dp.start_polling(bot)
if __name__ == '__main__':
asyncio.run(main())