34 lines
893 B
Python
34 lines
893 B
Python
# bot.py
|
|
import asyncio
|
|
import logging
|
|
from aiogram import Bot, Dispatcher
|
|
from config import BOT_TOKEN
|
|
from database import init_db
|
|
from handlers import router
|
|
from scheduler import batch_sender
|
|
|
|
logging.basicConfig(level=logging.INFO)
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
async def main():
|
|
# Инициализируем БД
|
|
await init_db()
|
|
|
|
# Создаём бота и диспетчер
|
|
bot = Bot(token=BOT_TOKEN)
|
|
dp = Dispatcher()
|
|
|
|
# Подключаем обработчики
|
|
dp.include_router(router)
|
|
|
|
# Запускаем фоновую задачу для отправки писем
|
|
asyncio.create_task(batch_sender(bot))
|
|
logger.info("Бот запущен, фоновый отправитель активен")
|
|
|
|
# Запускаем поллинг
|
|
await dp.start_polling(bot)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main()) |