Как исправить ошибку, возникающую при попытке отправить сообщение с поздравлением при проверке условия через функцию `bd_sheduler`?
Чтобы исправить ошибку, возникающую при попытке отправить сообщение с поздравлением при проверке условия через функцию `bd_sheduler`, вам нужно обратить внимание на следующие моменты: 1. Убедитесь, что вы правильно импортировали все необходимые модули (например, модуль для работы с отправкой сообщений). 2. Проверьте, правильно ли вы вызываете функцию `bd_sheduler` с нужными аргументами. 3. Убедитесь, что ваша функция `bd_sheduler` корректно обрабатывает условия и выполняет отправку сообщений при необходимости. Если у вас возникают проблемы с отправкой сообщений из функции, возможно, стоит проверить правильность работы функции отправки сообщений, а также наличие необходимых разрешений для отправки сообщений (например, доступ к сети Интернет). Если у вас не получается решить проблему самостоятельно, рекомендуется обратиться за помощью к опытному программисту или специалисту в области Python, который сможет быстро выявить и исправить ошибку в вашем коде.
Попробуйте бота данным способом и не забудьте установить библиотеки
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()