python await asyncio.sleep(3600) Как отменить asyncio.sleep

ЭТО ТЕЛЕГРАМ БОТ.

В данный момент это работает так:

Нажал на /start бот удаляет /start и присылает сообщения текст. через час. бот удаляет присланное сообщение и присылает его повторно.

Если отправить еще раз /start , то бот будет присылать в час уже 2 сообщения. еще раз на /start 3 сообщения будет в час присылать.

ЗАДАЧА. При нажатии на /start второй раз - Нужно отменять предыдущее await asyncio.sleep(3600) и запускать await asyncio.sleep(3600) заново.

например: нажал на /start пошел отчет 3600 сек. через 600сек нажал еще раз и отчет начинается заново 3600сек.

async def start(message, state):
    try: 
     await bot.delete_message(message.chat.id, message.message_id)
    except:
       pass  
    if message.text=='/start':
      await start_command(message, state)
      await asyncio.sleep(3600)
      await start(message, state)

Ответы (0 шт):