Aiogram. Как задать для ReplyKeyboardMarkup's состояния?
как создать глубокую ИМЕННО ReplyKeyboardMarkup клавиатуру, задавая состояния так, чтобы из одного участка бота нельзя было переходить на другие участки.
Т.е. представим, что я задаю главное меню в виде тех же обычных кнопок, и перехожу по этим кнопкам в другие клавиатуры. Однако если я впишу название кнопки, находящейся где-то в глубине, то сразу же попадаю внутрь неё.
Недавно мне подсказали, что это решится прохождением темы FSM, однако все примеры её использования, которые я находил завязывались на "последовательных регистрациях пользователя" и т.д.
Кому не сложно, накидайте простой, на Ваш взгляд, пример, где отражено лаконичное использование состояний, вместе с 2-мя или 3-мя клавиатурами для наглядности.
А в чем проблема с последовательными регистрациями пользователя? Используя FSM вы создаете набор различных состояний. Каждое состояние - это уровень меню. Перешел на новый уровень меню - поставил пользователю соответствующе состояние. Далее смотрим. Если от пользователя пришло сообщение с названием кнопки, значит либо он нажал эту кнопку, либо ввел руками. Проверяем текущее состояние. Если состояние соответствует тому уровню меню где есть эта кнопка - делаем необходимые действия. Если нет - придумайте сами (отказ, игнор, главное меню).