Как работать с обработчиками на aiogram?

Рейтинг: 0Ответов: 1Опубликовано: 28.04.2023

Я создаю команду /setgroup, которая будет запрашивать ответ на вопрос от пользователя Какая ваша группа? и записывать ее в переменную для дальнейшего пользования во всех других хендлерах, у меня не получается этого сделать. В общем основная проблема в том, что я хочу обрабатывать сообщения только если введена команда /setgroup а не вообще все пустые запросы обрабатывать, единственное что я нашел это этот код, но в нем не работает await_for_message, как мне это исправить?

@dp.message_handler(commands=['setgroup'])
async def set_group(message: types.Message):
    global group
    await bot.send_message(message.chat.id, "What is your group?")
    group_message = await bot.await_for_message(chat_id=message.chat.id)
    group = group_message.text
    await bot.send_message(message.chat.id, f"Your group is {group}")

Ответы

▲ 0

Дело в том, что насколько мне известно, в aiogram нет функции await_for_message. Для создания описанного Вами функционала нужно использовать машину состояний (FSM).

Что это такое, и как его едят, написано здесь.