время ответа юзера больше указанного. Проблема в том, что нужно “прекращать” работу шелдера, если пользователь успел ввести сообщение. Как это можно сделать?
P.S: На фото функция которая запускается, когда пользователь начинает играть
зачем тебе вообще скедулер под delayed task
Запоминай job_id и после того как юзер всё таки успеет отправить сообщение, то удаляй этот job из шудлера с помощью job_id который ты сохранил
мне посоветовали тут… какие есть еще варианты?
async def time_out(): await asyncio.sleep(30) ... task = loop.create_task(time_out) в time_out под слипом пишешь свою логику складываешь таску куда-нить (список, словарь, любой сторедж), и дёргаешь .cancel() в хэндлере если чел успел
а потом бота перезапустил и пропала твоя таска
П - похер на юзеров
https://t.me/aiogram_ru/1089038
Обсуждают сегодня