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

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

{% 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

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.cleverapp.pro/obzor-platformy/avtopodstanovka-peremennykh-v-tekst-bota.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
