Видео на Youtube
Видео на Rutube
Шаг «Формула» — это блок редактора кода, где можно выполнять логические и арифметические действия, использовать встроенные функции и управлять переменными.
С его помощью можно присваивать значения полям и переменным, рассчитывать показатели, сравнивать данные и строить сложные сценарии прямо внутри BotHelp.
Где найти и как включить
-
Во конструкторе выберите Добавить шаг → Формула.
-
Внутри шага откроется редактор кода. Для удобства вы можете воспользоваться режимом увеличенного редактирования (кнопка с иконкой «развернуть»).
Как работает шаг «Формула»
-
Подписчик попадает в шаг.
-
Выполняется код в редакторе «Формула» (сверху вниз, строка за строкой).
-
При успешном выполнении значения записываются в выбранные переменные и бот идёт дальше по настроенному переходу «Следующий шаг».
-
Если во время вычислений возникает ошибка (например, деление на 0, пустое значение или несовместимые типы), выполнение останавливается на строке, где произошла ошибка.Результаты из уже выполненных строк сохраняются, оставшаяся часть кода не выполняется.
-
После этого подписчик переходит к следующему шагу по переходу «Следующий шаг».
Работа с переменными
Внутри шага можно использовать переменные разных типов. Они позволяют хранить и передавать значения между шагами, пользователями и ботами. Конструкции имеют следующий вид: {%first_name%}
-
Пользовательские поля: доступны к чтению и записи.
Используются через префиксclient.а также {%название_переменной%}
Примеры:client.price,{%Должность%} -
Глобальные переменные : доступны к чтению и записи
Используются через префиксglobals.а также {@название_переменной@}
Примеры:globals.order,{@discount@} -
Локальные переменные: используются как вспомогательные переменные и работают только в конкретном шаге «Формула», доступны к чтению и записи
Используются без префикса
Пример:age_years = 25. -
Системные поля:
UserId,BotHelpId,CUIDдоступны только к чтению. Попытка записи приведет к ошибке.
Доступны как с префиксомclient.(если есть соответствие), так и через макросы.
Общие правила названия переменных
1. Имя переменной может начинаться только с буквы, а не с цифры.
✅ Сумма1 ❌ 1Сумма
Допустимые символы: латиница, кириллица, цифры и нижнее подчёркивание.
Запрещено использовать имена, совпадающие с:
-
названиями системных полей (
user_id,bh_user_id,cuidи т. п.); -
префиксами
clientиglobals. - зарезервированные слова языков программирования, например: print, true, false и т.д.
2. Пробелы в названии
Если в имени нужно использовать пробелы — обращайтесь к переменной через индексный доступ:
globals['возраст клиента'] = 27
client['ORDER ID'] = 'A-42'
3. Ограничения на код
-
Общий размер кода: до 50 строк и 5000 символов (учитываются переводы строк и табуляция).
-
Строковые литералы (текст в кавычках
"...") — до 1000 символов.
4. Рекомендации
-
Используйте латиницу в именах переменных.
-
Для нескольких слов применяйте нижнее подчёркивание:
blog_webinar,order_total. -
Давайте переменным смысловые и уникальные названия — это упрощает отладку и работу в команде.
Типы данных
-
Число (целое и дробное):
10,2.5 -
Строка:
"текст" -
Булево:
True,False -
Дата/время:
"2025-10-10"или"10.10.2025 12:00:00" -
Пустое значение:
null
В шаге «Формула» не поддерживаются списки ([1,2,3]), словари ({"a":1}) и объекты (None).
Преобразования
-
str(число)→ строка -
int("42"),float("12.5")→ число -
Сравнение разных типов приводит их к строке.
Комментирование
Чтобы упростить чтение и поддержку кода, вы можете добавлять комментарии.
Комментарии не влияют на выполнение формул и нужны только для пояснений логики.
Варианты записи комментариев
1. Однострочный комментарий
# Это пример однострочного комментария
a = 10# Можно писать после выражения
2. Многострочный комментарий
"""
Многострочный комментарий
Например, для описания логики вычислений
"""
Подсказки и автодополнение
Доступна система подсказок и автодополнения — она помогает быстрее писать выражения и избегать ошибок в названиях переменных и функций.
Например: начните вводить название функции — появится список подходящих вариантов.
При вводе add вы увидите варианты addDays, addMoth, и т. д.
Особенности функционала
- Код в шаге «Формула» выполняется построчно, сверху вниз, в изолированной среде BotHelp.
Синтаксис близок к Python, но не идентичен ему. -
Поддерживаются только простые выражения, без циклов (
for,while), функций (def) и внешних импортов. -
Код не может вызывать API или обращаться к внешним системам.
- Лимит равен 100 запросам на 1 подписчика в 1 минуту
Если вы не нашли ответ на свой вопрос, задайте его нам в чате внутри кабинета либо напишите в Telegram BotHelpSupportBot или на почту hello@bothelp.io
Получите 14 дней полного функционала платформы для создания рассылок, автоворонок и чат-ботов BotHelp.