#4 – Машина состояний (FSM)

#4 – Машина состояний (FSM)

За урок мы научимся использовать FSM или же машину состояний. При помощи FSM вы сможете получать постепенно данные от пользователя и позже использовать их.

Видеоурок

Машина состояний (FSM) – один из самых важных инструментов при создании Telegram-ботов. Она позволяет строить многошаговые сценарии, в которых бот «понимает», на каком шаге находится пользователь и какие данные от него ожидаются. Без FSM бот не может отличить обычное сообщение от ответа на конкретный вопрос анкеты или формы.


В aiogram 3.x FSM реализована через три ключевых элемента: StatesGroup, State и FSMContext.
С помощью StatesGroup создаётся набор шагов, например: имя, возраст, email. Каждое поле внутри группы — это отдельное состояние, в котором бот ждёт конкретный тип ввода.


Работа со сценарием строится очень просто:

  1. Пользователь вводит команду, например /form.
  2. Бот устанавливает состояние (await state.set_state(...)) и задаёт вопрос.
  3. Пользователь отвечает, а бот сохраняет данные в контекст (await state.update_data(...)).
  4. Затем бот переводит пользователя к следующему состоянию.
  5. В финале формирует результат и очищает состояние (await state.clear()).


FSMContext играет роль временного хранилища — туда можно записывать всё, что ввёл пользователь, а в конце получить полную анкету.

Материалы для курса

Чтобы скачивать материалы к видеокурсам необходимо оформить подписку на сайт

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Разработка Telegram Ботов на Python
11 уроков
Комментарии
Добавить комментарий

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