Авто отправка сообщения с файлом aiogramm
Очень часто стал писать вопросы, но меня тревожит последний: как запланировать авто отправку сообщения с файлом ботом, написанным на aiogramm version 3.1.1? Поискал ответы, нашел достаточно но ни один не работает почему-то, можете подсказать? Вот моя функция, которая выдает ошибку что не передан аргумент message, и если возможно, подскажите что ещё добавить чтобы функция точно работала
async def morning_newsletter(message: types.Message):
current_date = date.today()
today_date = current_date.strftime("%d.%m.%Y")
file_name = f'schedule/' + today_date + '.docx'
if os.path.isfile(file_name):
file_ids = []
file_from_pc = FSInputFile(file_name)
result = await message.answer_document(
file_from_pc,
caption="Расписание на сегодня"
)
file_ids.append(result.file[-1].file_id)
async def scheduler():
aioschedule.every().day.at("07:00").do(morning_newsletter)
while True:
await aioschedule.run_pending()
await asyncio.sleep(1)
async def start_tasks():
asyncio.create_task(scheduler())
async def main():
loop = asyncio.get_event_loop()
loop.create_task(start_tasks())
await bot.delete_webhook(drop_pending_updates=True)
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
Спасибо за помощь Сергея Ш.
UPD: я разобрался с авто отправкой, только теперь проблема состоит в том, что бот начинает спамить одним и тем же сообщением, которое я указал в функции. Новая правка в функции, которая работает но без остановки в течении указанного времени спамит сообщением:
async def evening_mewsletter():
current_date = date.today()
tom_not_date = current_date + timedelta(days=1)
today_date = current_date.strftime("%d.%m.%Y")
tomorrow_date = tom_not_date.strftime("%d.%m.%Y")
file_name = f'schedule/' + tomorrow_date + '.docx'
if os.path.isfile(file_name):
file_ids = []
file_from_pc = FSInputFile(file_name)
result = await bot.send_document(
CHAT_ID,
file_from_pc,
caption="Расписание на завтра"
)
file_ids.append(result.file[-1].file_id)
Что мне нужно поправить или изменить, чтобы бот перестал отправлять однотипные сообщения на протяжении минуты?