Смотрел исходный код машины состояний в библиотеке aiogram.
Нужен следуюющий функционал:
- Создание группы состояний
- Установка текущего состояния
- Получение текущего состояния
# Как это может выглядеть
from mylib import State, StatesGroup
# Создание группы
class SomeState(StatesGroup):
state_1 = State()
state_2 = State()
state_3 = State()
# Установка секущего состояния
SomeState.state_1.set()
bool(SomeState.state_1) # True
bool(SomeState.state_2) # False
bool(SomeState.state_3) # False
SomeState.state_2.set()
bool(SomeState.state_1) # False
bool(SomeState.state_2) # True
bool(SomeState.state_3) # False
Меня не интересуют готовые решения и конкретная реализация, мне нужны только знания о том как это работает.
Особенно меня интересует создание группы состояний.