State-Dispenser
StateDispenser'ы нужны, чтобы организовывать веточную систему организации пользователя. Сложное меню - стейты, квиз - стейты, какая-то игра - стейты.
StateDispenser имееет следующие методы
get
Возвращает StatePeer
(если запись на запрошенный peer_id существует) или None
(если нет).
На вход получает peer_id
set
Делает запись. На вход получает peer_id
и state
.
delete
Удаляет запись. На вход получает peer_id
Работа со стейтами
Получить стейт можно из объекта любого ивента event.state_peer.state
Чтобы задать стейт пользователю, достаточно воспользоваться вышеупомянутым методом set
Ловить пользователей со стейтами в хендлерами можно с помощью StateRule
.
Пример:
Примечание
.set()
может принимать **payload
который позже доступен как словарь из message.state_peer.payload