Попробуйте бота данным способом и не забудьте установить библиотеки
aiogram - pip install aiogram
sqlalchemy - pip install sqlalchemy
asyncpg - pip install asyncpg
apscheduler - pip install apscheduler
from aiogram import types
from aiogram.dispatcher import Dispatcher
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.future import select
from your_module_with_orm import Birthday # Подставьте свой модуль и класс с днями рождения
async def bd_scheduler(message: types.Message, session: AsyncSession):
today = datetime.date.today().strftime('%d-%m')
for bd in await orm_get_birthdays(session):
if today == bd.birthday.strftime('%d-%m'):
await message.answer(f"Сегодня день рождения у {bd.name}! Поздравляем!")
async def orm_get_birthdays(session: AsyncSession):
query = select(Birthday)
result = await session.execute(query)
return result.scalars().all()
async def main():
# Ваша существующая инициализация dp и scheduler
scheduler.add_job(bd_scheduler, trigger='interval', seconds=5,
kwargs={"message": types.Message, 'session': AsyncSession})
scheduler.start()