> For the complete documentation index, see [llms.txt](https://help.cleverapp.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.cleverapp.pro/obzor-platformy/avtopodstanovka-peremennykh-v-tekst-bota.md).

# Автоподстановка переменных в текст бота

### Константы

{% hint style="info" %}
**Константа** — постоянное значение, которое можно подставить в текст сообщения бота. Просто добавьте в текст {{имя}}, где имя — имя константы, см. ниже.
{% endhint %}

{{ name }} — Подставить полное имя клиента в сообщение

{{ first\_name }} — Подставить имя клиента в сообщение

{{ last\_name }} — Подставить фамилию клиента в сообщение

{{ phone }} — Подставить номер телефона клиента в сообщение

{{ telegram\_id }} – Выводит ID пользователя Телеграм

{% hint style="info" %}
Свои константы вы можете создать в разделе Ваш бот > Списки > Переменные
{% endhint %}

### Пользовательские переменные

{% hint style="info" %}
**Пользовательская переменная** — переменное значение, которое заполняется пользователем. Переменные вы можете создать в окне редактирования блока сценария. Добавьте в текст: {{$ИмяПеременной}}
{% endhint %}

### Системные функции

{% hint style="info" %}
**Функция** — подпрограмма, которую можно вызвать. Результат выполнения функции подставляется в сообщение от бота. В функцию можно передать аргументы (параметры), от которых зависит результат выполнения функции.
{% endhint %}

### Арифметические операции

{{ sum(1, 2) }} — **Сумма чисел**

**Сумма пользовательских переменных:** {{ sum($переменная1, $переменная2) }}

**Сумма нескольких значений:** {{ sum($переменная1, 1, 2) }}\
**Псевдоним функции:** {{ сумма(1, 2) }}

{{ diff(4, 2) }} — **Разность чисел**

**Разность пользовательских переменных:** {{ diff($переменная1, $переменная2) }}

**Разность нескольких значений:** {{ diff($переменная1, 1, 2) }}

**Псевдоним функции:** {{ разность(4, 2) }}

{{ multiplication(2, 2) }} — **Произведение чисел**

**Произведение пользовательских переменных:** {{ multiplication($переменная1, $переменная2) }}

**Произведение нескольких значений:** {{ multiplication($переменная1, 1, 2) }}

**Псевдоним функции:** {{ произведение(2, 2) }}

{{ div(4, 2) }} — **Деление чисел**

**Деление пользовательских переменных:** {{ div($переменная1, $переменная2) }}

**Деление нескольких значений:** {{ div($переменная1, 4, 2) }}

**Псевдоним функции:** {{ деление(4, 2) }}

{{ setSumVariablesIntoVariable(«сумма», «а», «б») }} — **Записать сумму переменных/чисел в переменную**

В переменную **$cумма** запишется сумма переменных **$а** и **$б**. В функцию передаются имена переменных в двойных кавычках или числа. Количество аргументов для передачи в функцию может быть до 100 шт.

{{ setMultiplicationVariablesIntoVariable(«произведение», «а», «б») }} — **Записать произведение переменных/чисел в переменную**

В переменную $произведение запишется произведение переменных **$а** и **$б**. В функцию передаются имена переменных в двойных кавычках или числа. Количество аргументов для передачи в функцию может быть до 100 шт.

### Функция abs - абсолютное значение (модуль числа)

{{ abs(-100) }} – **Преобразует в положительное число 100**

{{ abs($число) }} – **Преобразует число содержащееся в переменной «число» в положительное число**

### Функция ceil - округление дроби в большую сторону

{{ ceil(1.2) }} – **Преобразует в целое число 2**

{{ ceil($число) }} – **Преобразует число содержащееся в переменной «число» в целое число**

### Функция floor - округление дроби в меньшую сторону

{{ floor(1.9) }} – **Преобразует в целое число 1**

{{ floor($число) }} – **Преобразует число содержащееся в переменной «число» в целое число c округлением в меньшую сторону**

### Функция max – поиск наибольшего числа

{{ max(1, 5) }} – **Вернет число 5**

{{ max(1, 5, 100, 4) }} – вернет число 100

{{ max($число1, $число2, $число3) }} – **Вернет наибольшее число содержащееся в переменных «число1», «число2», «число3»**

{{ max($число1, $число2, 100, 200) }} – **Микс параметров, можно передавать «неограниченное» количество чисел и переменных**

### Функция min – поиск наименьшего числа

{{ min(1, 5) }} – **Вернет число 1**

{{ min(1, 5, 100, 4) }} – **Вернет число 1**

{{ min($число1, $число2, $число3) }} – **Вернет наименьшее число содержащееся в переменных «число1», «число2», «число3»**

{{ min($число1, $число2, 100, 200) }} – **Микс параметров, можно передавать «неограниченное» количество чисел и переменных**

### Функция pow – возведение в степень

{{ pow(2, 2) }} – **Два в квадрате, вернет число 4**

{{ pow(2, 3) }} – **Два в кубе, вернет число 8**

{{ pow(2) }} – **Два в нулевой степени, вернет число 1**

{{ pow(($число, $степень) }} – **Возведет число содержащееся в переменной «число» в степерь содержащейся в переменной «степень»**

{{ pow($число, 10) }} – **Микс параметров**

### Функция round – округление числа

{{ round(1.123456789, 1) }} – **Округлит число до 1.1**

{{ round(1.123456789, 2) }} – **Округлит число до 1.12**

{{ round(1.123456789, 5) }} – **Округлит число до 1.12345**

{{ round(1.49) }} – **Округлит число до 1**

{{ round(1.5) }} – **Округлит число до 2**

{{ round($число, $точность) }} – **Округлит число содержащееся в переменной «число» с точностью содержащееся в переменной «точность»**

{{ round(1.123456789, $точность) }} – **Микс параметров**

### Функция sqrt – квадратный корень

{{ sqrt(4) }} – **Вернет 2**

{{ sqrt(100) }} – **Вернет 10**

{{ sqrt(200) }} – **Вернет 14.142135623731**

{{ sqrt($число) }} – **Вычислит квадратный корень из числа содержащегося в переменной «число»**

### Генератор случайных чисел и строк

{{ rand() }} — **Сгенерировать случайное число**

**Сгенерировать случайное число от 5 до 100:** {{ rand(5, 100) }}

{{ strRandom() }} — **Сгенерировать случайную строку**

**Сгенерировать случайную строку длинной 20 символов:** {{ strRandom(20) }}

**Сгенерировать случайную строку длинной 20 символов заглавными буквами:** {{ strRandom(20, true) }}

### Сообщение для определенного мессенджера

{{ messageToTelegram(«Сообщение») }} — **Сообщение в Telegram**

**Пример:** {{ messageToTelegram(«Это сообщение отобразится только в Telegram») }}

{{ messageToViber(«Сообщение») }} — **Сообщение в Viber**

**Пример:** {{ messageToViber(«Это сообщение отобразится только в Viber») }}

{{ messageToWhatsApp(«Сообщение») }} — **Сообщение в WhatsApp**

**Пример:** {{ messageToWhatsApp(«Это сообщение отобразится только в WhatsApp») }}

{{ messageToIcq(«Сообщение») }} — **Сообщение в ICQ**

**Пример:** {{ messageToIcq(«Это сообщение отобразится только в ICQ») }}

{{ messageToVK(“Сообщение”) }} – **Сообщение ВКонтакте**

**Пример:** {{ messageToVK(«Это сообщение отобразится только ВКонтакте») }}

### Счета

{{ getBalance(«Код валюты») }} — **Получить баланс контакта**

**В рублях:** {{ getBalance("RUB") }}

**В долларах:** {{ getBalance("USD") }}

### Реферальная система Telegram

{{ getTelegramInviteLink() }} — **Реферальная ссылка контакта в телеграм боте**

{{ getTelegramReferrals() }} — **Получить список рефералов контакта (последние 100 шт).**

**Получить первые 10 рефералов:** {{ getTelegramReferrals(10) }}

**Получить первые 20 рефералов с тегом «Купил»:** {{ getTelegramReferrals(20, «Купил») }}

{{ getTelegramReferralsCount() }} — **Получить количество рефералов всей сети контакта (всех уровней).**

**Получить количество рефералов с тегом «Купил»:** {{ getTelegramReferralsCount(«Купил») }}

{{ getTelegramReferrer() }} — **Получить своего реферера**

**Получить своего реферера 5 уровня:** {{ getTelegramReferrer(5) }}, 5 — это максимум, для более высокого уровня воспользуйтесь API.

{{ getDirectTelegramInviteLink() }} – **Вывести прямую реферальную ссылку (<https://t.me/bot…>)**

{{ getDirectTelegramInviteLink(123) }} – **Вывести прямую реферальную ссылку на указанный сценарий (id 123)**

{{ getTelegramReferralsByDepth(100, 10, “ИмяТега”) }} – **Получить рефералов любой линии с содержанием тега**

{{ getTelegramReferralsCountByDepth(20) }} – **Получить количество рефералов 20 линии**

{{ getTelegramReferralsCountByDepth(5, “Купил”) }} – **Получить количество рефералов 5 линии, которые содержат тег «Купил»**

### Дата

Функция date – с её помощью можно выводить текущие дату и время. Также можно настраивать в каком формате выводить.

**{{ date() }}** – **вывести текущую дату и время**

{{ date(“d.m.Y H:i:s”) }} – **вывести текущую дату и время в заданном формате, для текущего примера 31.01.2023 13:00:00**

Можно задавать более точное временное окно. Например, можно вывести дату и время вчерашнего или завтрашнего дня. Либо любой день недели на прошлой или будущей недели.

Вчера – {{ date(“d.m.Y”, ”yesterday”) }}&#x20;

Завтра – {{ date(“d.m.Y”, “tomorrow”) }}&#x20;

Послезавтра – {{ date(“d.m.Y”, “+ 2 days”) }}&#x20;

Следующая среда – {{ date(“d.m.Y”, “next wednesday”) }}&#x20;

Прошлая пятница – {{ date(“d.m.Y”, “last friday”) }}&#x20;

Этот четверг – {{ date(“d.m.Y”, “this thursday”) }}&#x20;

14 дней вперед – {{ date(“d.m.Y”, “+ 14 days”) }}&#x20;

7 дней назад – {{ date(“d.m.Y”, “- 7 days”) }}&#x20;

2 часа вперед – {{ date(“d.m.Y”, “+ 2 hours”) }}&#x20;

<mark style="color:red;">\*</mark>(Часовой пояс по умолчанию UTC-0, по гринвичу)&#x20;

Описание шаблонов даты – <https://www.php.net/manual/ru/datetime.format.php>

### Как обрезать часть строки

{{ substr($Переменная, 0, 3) }}

где: 0 - номер символа с которого начать обрезание строки (важно! нумерация начинается с нуля, т.е. 0 - первый символ, 1 - второй символ, 2 - третий символ и т. д.); 3 - количество сиволов, которое нужно оставить в строке;

Например в переменной $Строка записано значение "abcdef"&#x20;

{{ substr($Строка, 0, 3) }} -> abc&#x20;

{{ substr($Строка, 1, 2) }} -> bc&#x20;

{{ substr($Строка, 3) }} -> def&#x20;

{{ substr($Строка, -1, 1) }} -> f&#x20;

{{ substr($Строка, -2, 1) }} -> e

С помощью этого решения можно, например, вырезать часть номера телефона, если он сохранён в переменной.
