EmailBot/bot.py

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())