реализовать кнопку "Назад" в библиотеке aiogram?

В боте для телеграм получилось много клавиатур (ReplyKeyboardMarkup). Нужно как-то определить, какая из этих клавиатур сейчас активна. Есть вариант смотреть на предыдущие сообщения, или же создать в БД для каждого пользователя столбец с состоянием клавы. Но нет ли более простого метода? В официальной документации копался, не нашёл, а поиск там работает как-то криво.


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

Автор решения: Nek1o

Возможно, стоит посмотреть в сторону FSM, механизм которых уже реализован в aiogram. Это, скорее всего, потребует переписать некоторую существующую логику, но по вопросу это должно быть то, что нужно.

С помощью FSM вы сможете определять текущее состояние диалога с пользователем, изменять его на любое другое и использовать временное хранилище для определения любых других вещей, например, текущей клавиатуры.

В качестве временного хранилища можно использовать просто ОЗУ или Redis, что будет лучше. Вот пример из документации: https://docs.aiogram.dev/en/latest/examples/finite_state_machine_example.html

→ Ссылка