python, aiogram. Есть ли метод, который улавливает, присылал ли пользователь сообщения после срабатывания функции?
Бот отправляет пользователю inline клавиатуру с url, после чего пользователь может либо перейти по ссылке и прочитать статью, а во время её чтения бот пришлёт пользователю определённое сообщение и клавиатуру, либо продолжать беспрепятственно пользоваться ботом дальше, возвращаться в главное меню, вызывать другие кнопки, переходить в профиль и так далее. Условием, отправлять сообщение с клавиатурой или нет для бота как раз таки и выступает бездействие пользователя на протяжении 4 минут. Вот часть кода:
from keyboards.kb_articles import create_btn
from aiogram import types, Dispatcher
from asyncio import sleep
async def output_of_articles(message: types.Message):
markup = await create_btn(message)
await message.answer("Выбирай, что хочешь узнать в первую очередь:", reply_markup=markup)
await sleep(240)
if # тут должно быть условие, которое проверяет, продолжил ли пользователь пользоваться
# ботом, или читает статью
await message.answer("Вы прочитали статью?") #,reply_markup=клавиатура с дальнейшими
# действиями в случае бездействия пользователя)
Я уже пробовал делать через FSM, но получается очень криво. Вылезает множество проблем если пользователь захочет просто дальше пользоваться ботом.
Chat GPT выдает решение через несуществующий "if not message.is_handled()" Конструкция if not message.is_handled() проверяет, были ли обработаны какие-то сообщения после.
Решение мне по сути подходило бы, если бы существовало, есть ли что-то похожее или как это можно обыграть по-другому?