Aiogram. Как проверить отсутствие состояния?

У меня есть набор состояний для всех пользователей. Они отвечают за меню, за другие панели. Я могу спокойно проверять состояния, типо если у тебя состояние МЕНЮ, то ты можешь нажимать на кнопки какие-то из меню. Но проблема в том, что при старте ни у одного из пользователей нет состояния.

class UserStates(StatesGroup):
    MENU = State()
    RENT = State()
    MY_SHOP = State()

Подскажите как проверять отсутствие состояния или как при старте сделать основным состоянием МЕНЮ.


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

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

Примерно так:

@dp.message_handler(CommandStart(), state=["*", UserStates.MENU])
async def cmd_start(message: Message):
    state = dp.current_state(user=user.id)
    await state.set_state(UserStates.MENU)

    ...
→ Ссылка