Запитати ШІ
Українська UK
Перейти до Watbot

Помилки та обмеження

Що бачить контакт

Якщо вираз не вдалося порахувати — наприклад, у змінній текст замість числа або такої функції немає, — контакт побачить на цьому місці порожнечу. Якщо в записі помилка (не закрита дужка), вставка залишиться в тексті як написано. В обох випадках причина з'явиться в попередньому перегляді бота та журналі блоку, а решта тексту повідомлення надішлеться як завжди.

Виразом бот вважає текст, у якому є змінна через $ або виклик функції, наприклад round(. Якщо немає ні того, ні іншого — скажімо, {{#each items}}, — бот залишить текст як написано й не вважатиме його помилкою. Так не ламаються тексти, де фігурні дужки потрібні для іншого.

Де знайти причину

  • Редактор блоку. Поки ви друкуєте, частини автопідстановки підсвічуються кольором, а та, що не спрацює, підкреслюється червоним — під полем з'являється причина.
  • Попередній перегляд бота. Натисніть «Перевірити бота» в конструкторі та пройдіть сценарій. Якщо вставка не спрацювала, під чатом з'явиться жовтий блок: назва блоку (посилання на нього в схемі), сама вставка та причина.
  • Журнал блоку. У блоків із журналом (HTTP-запит та інші) помилки автопідстановок записуються в журнал проходження, у розділ «Template errors».

Поширені помилки

Як написано Що не так Як виправити
Назву змінної з пробілами записано через $ Бот читає назву після $ лише до пробілу {{ var("Ім'я клієнта") }}, див. назви з пробілами
Глобальну змінну у виразі записано без global У виразах глобальні змінні читаються лише через функцію {{ global("Курс (USD)") * 2 }}
{{ round($ціна * 0.9 }} Не закрита дужка {{ round($ціна * 0.9) }}
{{ discount($ціна, 10) }} Такої функції немає Перевірте назву в довіднику функцій
{{ $місто * 2 }} У змінній текст, а не число Перевірте, що в змінній число
{{ phone + 1 }} за порожнього телефону Порожнє значення Задайте запасне: {{ (phone ?? 0) + 1 }}
{{ upper(getInviteLink()) }} у кнопці У кнопках доступні лише прості функції Винесіть посилання в текст повідомлення
{{ $a > 1 ? messageToTelegram("...") : "" }} Функції, що надсилають повідомлення або записують змінні, не можна ставити всередину виразу Використовуйте функцію окремою вставкою

Обмеження

Що Межа
Довжина виразу всередині {{ ... }} 1000 символів. Довший — текст залишається як написано
Результат однієї вставки 10 000 символів понад довжину прочитаних змінних. Значення змінної виводиться повністю будь-якої довжини, зокрема через var(), з trim, upper, len над ним і з дописаним текстом: {{ $x ~ "!" }}
Виразів в одному тексті 200
Функцій в одному тексті 100 простих і 10 решти. Понад межу функції не виконуються: окрема вставка на кшталт {{ getInviteLink() }} залишиться в тексті як написана, а всередині виразу на місці функції буде порожнеча й помилка в журналі. Читання змінної ($ім'я, var(), global()) функцією не вважається

У виразах недоступні регулярні вирази (matches), діапазони (1..10) і звернення до внутрішніх даних платформи.