Есть значит такой вопрос..
У меня бот телеграмм(aiogram) в функции бота входят и машины состояний... Прикол в том что сообщения через время удаляются, как мне сделать что бы через тоже время удалась машина состояний. То есть, человек нажимает кнопку "заказать" и ему выпадает сообщение, к которому привязаны кнопки и вдруг человек предположим вышел, спустя час пользователь до сих пор не в сети, бот удаляет это сообщение, а вот стейт нет, если юсер зайдет и напишет /start, команда не запуститься, т.к. пользователь в машине состояний...
вот так вызывается у меня таймер удаление сообщений.
async def test_message(message: types.Message)
msg = await message.answer('TEST')
date = datetime.now() + timedelta(seconds=10)
scheduler.add_job(delete_message, "date", run_date=date, kwargs={"message": msg})
Вот предположим через 10 секунд так же, вызывалось отмена стейта, я отменяю вот так:
async def not_state(message: types.Message, state: FSMContext):
await message.delete()
current_state = await state.get_state()
if current_state is None:
return
await state.finish()
if message.from_user.id == ID:
await message.answer('Действие отменено', reply_markup=main_keyboard_admin)
else:
await message.answer('Действие отменено', reply_markup=main_keyboard)
и вызов этого хандлера происходит вот так:
dp.register_message_handler(not_state, Text(equals='Отмена', ignore_case=True), state='*')
что делать?