Переменные и условные ветки: как сделать Telegram-бота умнее
Простейший Telegram-бот работает линейно: отправляет приветствие, показывает несколько кнопок и отвечает заранее подготовленными сообщениями. Для небольшого информационного бота этого может быть достаточно.
Но что делать, если одному клиенту нужно показать одну информацию, а другому — совершенно другую? Или если бот должен запомнить имя пользователя, выбранную услугу, город или бюджет и использовать эти данные дальше?
Для этого в конструкторах Telegram-ботов используются переменные и условные ветки. Именно они позволяют превратить обычную последовательность сообщений в сценарий, который реагирует на действия конкретного пользователя.
Что такое переменные в Telegram-боте
Переменная — это место, в котором бот может сохранить определенное значение и использовать его в дальнейшем сценарии.
Самый простой пример — имя.
Представим, что после запуска бот спрашивает:
Как вас зовут?
Пользователь отвечает:
Александр
Бот сохраняет ответ в переменную Имя.
Теперь вместо безличного:
Выберите интересующую услугу.
можно отправить:
Александр, какую услугу вы хотите выбрать?
Но имя — только самый очевидный пример. В переменных можно хранить самые разные данные:
- выбранную услугу;
- город;
- номер телефона;
- бюджет;
- тариф;
- ответы на вопросы;
- категорию пользователя;
- другую информацию, необходимую для сценария.
В результате бот не просто отправляет сообщения, а постепенно собирает данные о пользователе.
Зачем нужны переменные
Представим Telegram-бота компании по ремонту квартир.
В начале он спрашивает:
Какой объект вы хотите отремонтировать?
Пользователь выбирает «Квартира».
Затем:
Какая площадь квартиры?
Ответ — 70 м².
Следующий вопрос:
Какой бюджет вы планируете?
Ответ — 2 000 000 рублей.
Бот может сохранить все три значения. К моменту получения номера телефона у нас уже есть небольшая структурированная заявка:
Объект: квартира
Площадь: 70 м²
Бюджет: 2 000 000 ₽
Телефон: номер клиента
Менеджеру остается связаться с человеком, уже понимая его основные потребности.
Без переменных эти ответы пришлось бы либо никак не учитывать в дальнейшем сценарии, либо обрабатывать вручную.
Что такое условные ветки
Переменные становятся особенно полезными вместе с условиями.
Условная ветка позволяет определить, что должен сделать бот в зависимости от определенного значения или действия пользователя.
Простой пример:
Для чего вам нужен бот?
Два варианта ответа:
Для бизнеса
Для личного проекта
Если выбран первый вариант, пользователь переходит в ветку с информацией об автоматизации заявок, продажах и работе с клиентами.
Если выбран второй — получает другой сценарий.
Вместо одного одинакового диалога для всех появляется несколько маршрутов.
Схематично это выглядит так:
Старт → вопрос → ответ пользователя → условие → нужная ветка
Чем сложнее проект, тем больше подобных условий можно использовать.
Пример: бот подбирает предложение
Допустим, компания продает несколько тарифов.
Бот спрашивает:
Сколько клиентов вы планируете обслуживать через бота?
Пользователь выбирает:
До 100
От 100 до 1000
Более 1000
Ответ сохраняется в переменную.
Дальше можно настроить условия.
Если выбрано «До 100» — показать начальный вариант.
Если «От 100 до 1000» — предложить более подходящий тариф.
Если «Более 1000» — предложить связаться с менеджером для индивидуального расчета.
Получается простой автоматический подбор предложения.
Менеджеру не нужно вручную объяснять каждому пользователю, какой вариант ему подходит.
Персонализация сценария
Переменные позволяют использовать уже полученную информацию непосредственно в сообщениях.
Допустим, бот узнал:
Имя: Анна
Услуга: создание сайта
Следующее сообщение может выглядеть так:
Анна, вы выбрали создание сайта. Ответьте на несколько вопросов, чтобы мы смогли подготовить предложение.
Диалог становится более естественным.
При этом пользователь не должен повторно сообщать информацию, которую бот уже получил.
Это особенно важно в длинных сценариях. Если человек уже выбрал город, услугу или тариф, хороший бот должен помнить этот выбор.
Условия помогают не задавать лишних вопросов
Еще один полезный сценарий — проверка уже имеющихся данных.
Например, боту нужен номер телефона.
Можно настроить следующую логику:
Если телефон уже получен → продолжить сценарий.
Если телефона нет → попросить пользователя его указать.
То же самое можно делать с другими значениями.
В результате разные пользователи могут проходить один сценарий по-разному.
Один ответит на пять вопросов, другому потребуется только два, потому что часть информации уже известна.
Как использовать переменные и условия в Botly
В Botly сценарий Telegram-бота собирается визуально. Поэтому для работы с переменными и условиями не требуется самостоятельно писать программный код.
Общая логика достаточно простая.
Сначала бот получает информацию от пользователя.
Например:
Как вас зовут?
Ответ сохраняется в переменную.
Дальше значение можно использовать в следующих сообщениях или проверять с помощью условий.
Например:
Получаем бюджет → сохраняем значение → проверяем условие → направляем пользователя в подходящую ветку.
В визуальном редакторе можно видеть, как связаны отдельные части сценария. Это особенно удобно, когда вместо нескольких последовательных сообщений появляется множество вариантов развития диалога.
Не стоит делать слишком много веток
Условия дают большие возможности, но здесь легко перестараться.
Если для каждого ответа создавать десятки дополнительных условий, сценарий быстро становится сложным даже для его автора.
Поэтому лучше начинать с основной логики.
Например:
Старт → выбор услуги → уточняющие вопросы → контакты → заявка.
И только после этого добавлять персонализацию.
Без кода и без карты — собери первого бота бесплатно.
Создать бота бесплатноХороший вопрос при создании каждого нового условия:
Изменится ли от этого дальнейший сценарий?
Если ответ пользователя ни на что не влияет, возможно, отдельная ветка вообще не нужна.
Переменные полезны не только для продаж
Использовать их можно практически в любом Telegram-боте.
Например, в образовательном проекте можно сохранять выбранный курс или уровень подготовки.
В боте для записи — услугу, специалиста и желаемое время.
В интернет-магазине — категорию товара и параметры выбора.
В опросе — ответы участника.
В сервисном боте — тип проблемы пользователя.
Принцип остается одинаковым: получили информацию → сохранили → использовали дальше.
Простой бот и умный бот: в чем разница
Обычный линейный бот работает примерно так:
Сообщение 1 → Сообщение 2 → Сообщение 3 → Сообщение 4.
Все пользователи проходят один и тот же путь.
Более продуманный сценарий выглядит иначе:
Старт → получаем данные → проверяем условия → выбираем ветку → используем сохраненную информацию → выполняем нужное действие.
Именно переменные и условия позволяют приблизить автоматический диалог к обычному общению.
Бот начинает учитывать то, что пользователь сообщил ему раньше.
Вывод
Чтобы сделать полезного Telegram-бота, недостаточно просто добавить много сообщений и кнопок. Гораздо важнее правильно построить логику взаимодействия.
Переменные позволяют боту запоминать данные: имя, услугу, город, бюджет, телефон и другие значения.
Условные ветки определяют, что произойдет дальше в зависимости от этих данных или действий пользователя.
Вместе они позволяют создавать персонализированные сценарии, автоматически квалифицировать заявки, не задавать лишних вопросов и показывать разным пользователям подходящую информацию.
При этом для реализации такой логики необязательно программировать ее с нуля. В Botly переменные, условия и связанные с ними сценарии можно собирать в визуальном редакторе.
Для первого проекта лучше начать с простой последовательности, а затем постепенно добавлять условия там, где они действительно меняют поведение бота. Так даже небольшой сценарий может стать значительно полезнее обычного набора автоматических ответов.
Без кода и без карты — собери первого бота бесплатно.
Создать бота бесплатно