• Aiogram. Как сделать FSM для группы?

    @maks00x Автор вопроса
    husee,
    Думал, получить список пользователей, и установить всем state-ы for-ом, но оказалось, что aiogram не поддерживает подобный функционал (источник).
  • Aiogram. Как сделать FSM для группы?

    @maks00x Автор вопроса
    Bl4ckm45k, это выглядело примерно так:
    class States(StatesGroup):
        state1 = State()
        ...
    
    
    @dp.message_handler(commands=['set_state1'], state=None)
    def set_state1(message : types.Message):
        # await States.state1.set()
        await storage.set_state(
            chat=message.chat.id,
            user=message.from_user.id,
            state=States.state1
        )
        await message.reply('state1 installed')
    
    
    @dp.message_handler(state=States.state1)
    def mess(message : types.Message):
        await message.reply('Hello!')


    Как это должно было выглядеть

    User1:
    — /set_state1
    Bot:
    — state1 installed
    User2:
    — I exist
    Bot:
    — Hello!
    User2:
    — /set_state1
    Bot:
    — Hello!
    User2:
    — Hi!
    Bot:
    — Hello!
    User1:
    — ansjkdlgf
    Bot:
    — Hello!


    Как это выглядит на самом деле

    User1:
    — /set_state1
    Bot:
    — state1 installed
    User2:
    — I exist
    User2:
    — /set_state1
    Bot:
    — state1 installed
    User2:
    — Hi!
    Bot:
    — Hello!
    User1:
    — ansjkdlgf
    Bot:
    — Hello!
  • Aiogram. Как сделать FSM для группы?

    @maks00x Автор вопроса
    Ничего не поменялось. Как менялся лишь для одного пользователя, так и меняется для лишь одного пользователя. В принципе, логично, ведь user указан явно.
    Попробовал указать '*' в качестве user-а, но не слишком успешно — так даже для одного пользователя проку нет. Нет, ошибок не случилось, хендлер отработал, но set_state был будто проигнорирован.
    Думал, получить список пользователей, и установить всем state-ы for-ом, но оказалось, что aiogram не поддерживает подобный функционал (источник).