Как задать вопрос и сохранить ответ

Бот из двух вопросов: включаем ожидание ответа, выбираем тип, просим телефон в одно касание и сохраняем каждый ответ в переменную.

4 минуты чтения·Обновлено: 2026-09-27

01Что мы соберём

Сценарий из двух вопросов. Бот спрашивает имя, спрашивает телефон и повторяет оба ответа — человек сразу видит, что всё записано верно.

Четыре блока (блок — один шаг сценария на холсте):

  • Стартовый шаг — команда /start
  • Спросить имя — ждёт текстовый ответ и сохраняет его в {{lead_name}}
  • Спросить телефон — ждёт номер и сохраняет его в {{lead_phone}}
  • Подтверждение — повторяет оба значения

Сценарий на холсте: стартовый шаг, два вопроса с меткой «Ожидать ответ» и подтверждение

На обоих блоках-вопросах стоит метка Ожидать ответ. В ней вся суть: сценарий останавливается на этом блоке и не идёт дальше, пока человек не ответит.

02Включите ожидание ответа

Нажмите на блок «Сообщение» — слева откроется редактор. Сразу под текстом сообщения есть раздел Ожидать ответ с переключателем. Включите его.

Больше в блоке ничего не меняется. Он по-прежнему отправляет ваш текст, просто после этого останавливается, а не запускает следующий блок сразу.

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

03Выберите тип ответа

Когда переключатель включён, появляется список Ожидаемый тип ответа. Он решает, какой ответ считается правильным.

Открытый список «Ожидаемый тип ответа», ниже — ответ сохраняется в переменную lead_name

Типов семь:

ТипЧто принимает
Любой текстВсё, что человек напишет. Значение по умолчанию.
Целое числоЦелое число, например 12.
Дата«завтра», «25 фев», «25.02» и похожее.
Время«19:30», «7 вечера» и похожее.
Дата и время«завтра в 17:00» и похожее.
ТелефонНастоящий номер, проверяется по форматам стран.
EmailАдрес со знаком @ и доменом.

Любой тип, кроме «Любой текст», ещё и приводит ответ к единому виду перед сохранением. Телефон сохраняется в международном формате (+79165550134 для +7 916 555 01 34), email — строчными буквами, а дата или время — как полная отметка времени, чтобы её потом можно было сравнивать.

04Если ответ не подходит

Когда ответ не совпал с типом, бот пишет об этом и спрашивает снова. Он остаётся на том же блоке, и ничего после него не выполняется.

Тексты подсказок встроены в платформу, отредактировать их пока нельзя:

  • Целое число — Пожалуйста, введите целое число (например, 12).
  • Телефон — Пожалуйста, введите корректный номер телефона (например, +1234567890).
  • Email — Пожалуйста, введите корректный email (например, user@example.com).
  • Дата — Не удалось распознать дату. Попробуйте, например, «завтра» или «25 фев».

Есть один способ вырваться. Если человек отправит команду вроде /start или /menu, которую слушает другой блок бота, ожидание сбрасывается и запускается эта команда. Иначе одна упрямая опечатка запирала бы человека в вопросе навсегда.

05Как попросить номер телефона

Поставьте тип ответа Телефон — появится ещё одна настройка: Кнопка «Поделиться номером».

Вопрос про телефон: тип «Телефон», включённая кнопка «Поделиться номером» и переменная lead_phone

Включите её, и Telegram покажет под сообщением свою системную кнопку. Одно касание отправляет номер, который Telegram уже подтвердил у этого аккаунта: без набора и без опечаток. Ввести номер вручную по-прежнему можно.

Два ограничения. Настройка работает для Telegram-ботов и пропадает, если у сообщения есть свои кнопки: Telegram не умеет показывать клавиатуру с номером и ваши кнопки одновременно.

06Сохраните ответ в переменную

Ответ, который никуда не записали, использовать нельзя. Для этого под типом ответа есть поле Сохранить ответ в переменную.

Нажмите на поле — откроется окно выбора переменных. Возьмите готовую переменную контакта или введите имя и нажмите Создать и использовать. Выбрать здесь можно только текстовые переменные контакта: ответ и есть текст.

В нашем боте это lead_name для первого вопроса и lead_phone для второго.

Дальше значение принадлежит этому человеку и остаётся с ним. Чтобы подставить его в следующее сообщение, нажмите {} на панели редактора и выберите переменную — она вставится как плашка переменной. Не набирайте фигурные скобки руками: набранное имя останется просто текстом.

Блок подтверждения в этом боте выглядит так:

Записал. Имя — {{lead_name}}, телефон — {{lead_phone}}. Мы позвоним в течение рабочего дня.

07Проверьте в тестовом чате

Нажмите Тест на верхней панели и ответьте на собственные вопросы.

Тестовый чат: оба вопроса, введённые ответы и подтверждение с обоими значениями

Проверьте три вещи: бот действительно ждёт после каждого вопроса, на заведомо неправильный ответ приходит подсказка, а в подтверждении стоят настоящие значения, а не пустые места. Пустое место значит, что ответ не сохранили в переменную.

08Если что-то не сработало

Бот задал вопрос и пошёл дальше. Переключатель выключен — или вы изменили блок и не нажали Сохранить изменения. Сохранение — это ещё не публикация: после него нажмите Опубликовать.

В подтверждении пусто там, где должно быть имя. Либо в блоке-вопросе не выбрана переменная в поле Сохранить ответ в переменную, либо в тексте подтверждения имя переменной набрано руками, а не вставлено как плашка переменной.

Нормальный на вид номер не принимается. Номеру нужен код страны. +7 916 555 01 34 пройдёт, 916 555 01 34 — нет.

Не вижу настройку про кнопку «Поделиться номером». Тип ответа не Телефон — или у сообщения есть кнопки. Уберите кнопки, и настройка вернётся.

09Что дальше

Ответы полезны, только когда вы знаете, где они лежат: Переменные: как бот запоминает ответы

Попробуйте в своём боте

Соберите это на бесплатном тарифе, пока шаги свежи в памяти. Карта не нужна.

Создать бота бесплатно