ХАЦКЕВИЧ

Статья

Как составить карту сценариев Telegram-бота

Карта сценариев связывает намерения пользователя, состояния диалога, данные и передачу человеку до написания кода.

Максим Хацкевич · Обновлено · 8 мин чтения

Начните с точек входа и намерений

Перечислите ссылки, команды, QR-коды и повторные открытия бота. У каждой точки входа может быть свой контекст: рекламное предложение, приглашение участника клуба или переход из личного кабинета. Затем назовите намерения глаголами: узнать условия, подобрать вариант, записаться, изменить запись, позвать сотрудника. Не делайте меню картой бизнеса; пользователь мыслит задачей, а не внутренними отделами.

Опишите состояние после каждого действия

Карточка узла сценария

  • ВходЧто уже известно и каким событием открыт узел.
  • СообщениеЧто видит пользователь и какое обещание получает.
  • ВыборДопустимые кнопки, свободный ввод и команда возврата.
  • РезультатНовое состояние, записанные данные и внешнее действие.
  • СбойТекст ошибки, повтор, отмена и ответственный сотрудник.

Вынесите общие переходы из отдельных веток

Команды «назад», «в начало», «отмена» и «позвать человека» должны работать предсказуемо в любом состоянии. Решите, что происходит с незавершёнными данными при возврате и как долго живёт сессия. Свободный текст нельзя автоматически считать ответом на последний вопрос: сначала проверьте формат, а при неоднозначности повторите варианты. Для внешних систем обозначьте ожидание, повторный запрос и защиту от двойной записи.

Пример: карта вступления в закрытый клуб

Человек приходит по ссылке конкретной встречи. Бот показывает тему и правила, проверяет наличие профиля, а затем предлагает вступить или открыть расписание. Новичок принимает условия, выбирает город и получает заявку на модерацию. Участник сразу видит карточку встречи. Если проверка профиля недоступна, бот не создаёт новый аккаунт вслепую: сохраняет точку входа, сообщает о задержке и предлагает сотрудника. На карте отдельно показаны отклонённая заявка, повторная подача и переход по уже завершившейся встрече.

Проверьте карту проходами, а не чтением

Дайте карту коллеге и назовите цель без подсказок. Он должен пройти основной путь, передумать посередине, отправить неверное значение и вернуться через день. В каждом проходе фиксируйте потерю контекста, тупик и действие, которое нельзя отменить. Затем сопоставьте узлы с событиями аналитики и уведомлениями команды. Если разработчик не может однозначно определить следующее состояние, узел описан недостаточно.

Передайте карту вместе со словарём данных

К диаграмме приложите таблицу состояний, тексты кнопок, источники справочных значений и перечень событий. Для каждого записываемого поля укажите формат, обязательность и срок жизни. Версионируйте карту: изменение одной кнопки может повлиять на аналитику, уведомление и возврат из старой сессии. На спорных узлах оставляйте решение с автором, а не комментарий «уточнить позже». Перед разработкой команда отдельно подтверждает команды общего назначения, правила повторного входа и передачу оператору. После сборки карта становится основой приёмочных проходов; найденное расхождение исправляют либо в реализации, либо в согласованной спецификации.

Вопросы о карте сценариев

Рисовать каждое сообщение отдельным блоком?

Нет. Отдельный узел нужен там, где меняется состояние, доступный выбор, данные или внешнее действие.

Как учитывать свободный текст?

Как отдельный тип входа с правилами распознавания, уточнением и гарантированным выходом к человеку.

Кто утверждает карту?

Владелец процесса подтверждает правила, разработчик — исполнимость, а будущий оператор — качество передачи диалога.

Обсудить задачу в Telegram →