# Блок «Условие»

Чтобы понять, что делает блок "Условие", начнём с нескольких общедоступных примеров.&#x20;

**Ситуация 1. Бытовая**

Школьник получает оценку. В голове у родителей работает условие:&#x20;

Если оценка 4 или 5 — похвалить.

Если оценка 2 или 3 — провести воспитательную беседу.&#x20;

**Смотрим реализацию в чат-боте:**

![](/files/vm2aXrJPE5AXUzhMFRfp)

Как это работает? У нас объявлено, что условие будет выполнено, если оценка школьника будет больше 3.&#x20;

Четыре больше трёх? <mark style="color:green;">**Да**</mark>. Этот вариант подойдёт, условие будет выполнено.&#x20;

Это значит, что сработает зелёный выход и приведёт к "Шагу 2", где мы хвалим ребёнка за хорошую оценку.&#x20;

То же самое с оценкой 5.&#x20;

Что касается "плохих" оценок, будет действовать то же правило. Посмотрим:

Три больше трёх? <mark style="color:red;">**Нет**</mark>, три равно трём. Условие не выполнено. На "Нет" сработает красный выход и приведёт к "Шагу 3", в котором мы проводим воспитательную беседу с ребёнком.&#x20;

**Ситуация 2**

Заполняем на каком-либо сайте форму регистрации или форму с заказом обратного звонка.&#x20;

Поле "Телефон" оставляем пустым, нажимаем "Отправить".

За такие проделки нам высветится предупреждение: "Введите корректный номер телефона".&#x20;

Если же телефон заполнен корректно, наша заявка отправится.&#x20;

Эта ситуация — самая настоящая работа "Условия":

> Если поле "Телефон" содержит меньше 5 цифр, выводим на экране ошибку.&#x20;
>
> Если всё заполнено корректно, отправляем данные в CRM или на почту.&#x20;

В условии всегда есть два варианта событий. Положительное и отрицательное. И для каждого события у нас будет припасено дальнейшее решение.&#x20;

## Создаем блок "Условие"

В режиме редактирования бота нажимаем на красную кнопку с плюсом в правом нижнем углу экрана.

{% hint style="info" %}
Если вы не знаете, как попасть в режим редактирования бота,  посмотрите начальные статьи:\
&#x20; 1\. [Создаём бота | С чего начать?](/bots/sozdayom-bota.md)&#x20;

2. [Блоки в боте | Краткое описание](/bots/bloki.md)
   {% endhint %}

![Открываем панель добавления блоков](/files/rmh26lXe6C5N3hJO6oPI)

<div align="left"><img src="/files/CqmOKYjM8ojWFCYspBT4" alt="Выбираем &#x22;Добавить условие&#x22;"></div>

<div align="left"><img src="/files/5L0m0y0NemwSY6OeLEzN" alt=""></div>

Для редактирования блока нужно кликнуть по нему левой кнопкой мыши.&#x20;

## Разбираем параметры блока "Условие"

### Название условия

<div align="left"><img src="/files/0dWD9yNR0optU6t1gF3R" alt=""></div>

Изменяем название при необходимости. Возможность редактирования названия нужна только для удобной навигации по блокам в чат-боте.&#x20;

К примеру, можно написать "Условие: проверка оплаты" и т.д.&#x20;

### Условие выполнится, если подписчик соответствует&#x20;

**В блоке "Условие" можно проверять одновременно несколько условий.**&#x20;

*Например:*&#x20;

Условие 1 : проверяем, заполнена ли переменная "Телефон".

Условие 2 : проверяем переменную "Возраст", она должна быть больше или равна 18.&#x20;

Выбор соответствия условию(-ям) можно выбрать в этом параметре.

<div align="left"><img src="/files/2bMpL1Y5qVx3TBwMEZy0" alt=""></div>

#### Каждому из условий

Соответствие каждому из условий означает, что все заданные условия при проверке должны отдавать результат "Да" ( если использовать пример выше: <mark style="color:green;">И</mark> переменная телефон заполнена, <mark style="color:green;">И</mark> возраст больше или равен 18 ).&#x20;

**Если хотя бы одно условие будет "Нет", сценарий пойдет по красной ветке и условие будет считаться невыполненным.**&#x20;

#### Одному из условий

В данном случае условие выполнится при результате "Да" хотя бы на одно из множества условий.&#x20;

По примеру выше:

Телефон заполнен, проверка успешная, результат: да.

Возраст 15, условие не выполнено, т.к. число должно быть больше или равно 18. Результат: нет.&#x20;

При выборе соответствия **одному из условий** блок условия отправит пользователя по зелёной ветке.&#x20;

**Условие будет считаться выполненным, даже когда будет выполнено только одно условие из 5.**

## &#x20;Условия: **+** ДОБАВИТЬ УСЛОВИЕ

<div align="left"><img src="/files/tNJOvF0pD1WRmEgtTrIT" alt=""></div>

Начнём разбор параметров по порядку.

### "Группа". Проверяет, состоит человек в группе пользователей или нет.&#x20;

**Группа** — это список пользователей, объединённых по какому-то признаку. Например, группа подписчиков, которые проходили бота с викториной или группа подписчиков, которые купили товар/курс.&#x20;

Условие с параметром "Группа" проверяет, состоит ли человек, проходящий бота, в определённой группе.&#x20;

<div align="left"><img src="/files/D0ED1goc9B4qpg3ugFyl" alt=""></div>

Как будет работать условие на скриншоте выше? Подписчик доходит до блока "Условие". В блоке "Условие" запускается проверка, состоит ли подписчик в группе "Оплатили". В зависимости от результата — <mark style="color:green;">Да</mark> или <mark style="color:red;">Нет</mark> — будет строиться дальнейшая автоворонка.

Например, если человек не состоит в группе "Оплатили", следующим шагом мы отправим [Товар](/tovary/tovary.md) и предложим купить.&#x20;

### "День". Проверяем день недели.&#x20;

{% hint style="warning" %}
Чтобы было понятно, как работать с условиями **"**&#x411;ольше, Меньше" представляем, что дни недели пронумерованы. Понедельник - первый день. Воскресенье - седьмой. Из этой логики Воскресенье больше чем Понедельник. А Понедельник, меньше Вторника, Пятницы, и т.д.&#x20;
{% endhint %}

Возможные значения:

* **Равен:** проверяет совпадение на 100%. Если указан "понедельник", то условие сработает ТОЛЬКО в понедельник.
* **Не равен**: проверяет, чтобы был **только не понедельник** (выбрать нужный день). Пятница? Воскресенье? Вторник? — условие сработает. Если понедельник, то сценарий пойдёт по красной ветке.&#x20;
* **Больше чем:** *например,* прохождение бота рассчитано на выходные дни. Чтобы это реализовать, поставим условие, что <mark style="color:green;">День</mark> <mark style="color:red;">Больше чем</mark> <mark style="color:orange;">Пятница</mark>. Под это условие как раз подходят Суббота и Воскресенье.&#x20;
* **Меньше чем:** *например,* нам нужно сделать прохождение бота только в будние дни. Для этого сделаем условие <mark style="color:green;">День</mark> <mark style="color:red;">Меньше чем</mark> <mark style="color:orange;">Суббота</mark>. Под это условие попадут дни с Понедельника по Пятницу, т.е. все будние дни.&#x20;
* **Больше или равен:** *например,* проводим акцию только в выходные дни. Для этого используем условие <mark style="color:green;">День</mark> <mark style="color:red;">Больше или равен</mark> <mark style="color:orange;">Субботе</mark>. Под это условие подходят Суббота и Воскресенье.&#x20;
* **Меньше или равен:** *например,* нам нужно сделать прохождение бота только в будние дни. Для этого используем условие <mark style="color:green;">День</mark> <mark style="color:red;">Меньше или равен</mark> <mark style="color:orange;">Пятнице</mark>. С этим условием будут выбраны все дни с ПН по ПТ, т.е. будние дни.&#x20;

### "Время". Работа чат-бота по часам.&#x20;

Время устанавливается по Москве.&#x20;

Возможные значения:

* **Равен:** такое условие ожидает 100% совпадения времени, вплоть до минуты. *Пример*: мы решили раздавать щедрый бонус, но только тем, кто напишет в сообщество ровно в 20:00. Для этого используем "Условие" с параметром <mark style="color:green;">Время</mark> <mark style="color:red;">Равен</mark> <mark style="color:orange;">20:00</mark>. Это разовая акция, и если человек опоздал хоть на минутку, условие не сработает, и продлить его действие никак нельзя.&#x20;
* **Не равен:** суть этого условия в том, что оно выполнится только когда время не равно, к примеру, 22:00.
* **Больше чем**: это условие может пригодиться, когда мы с уважением относимся ко сну своих подписчиков. *Задача* — не беспокоить новыми сообщениями с 00:00 до 09:00. В таком случае ставим блок "Условие", после которого взаимодействие будет только с утра.&#x20;
* **Реализация**: параметр <mark style="color:green;">Время</mark> <mark style="color:red;">Больше чем</mark> <mark style="color:orange;">09:00</mark>. С этим условием сообщения смогут приходить в период с 09:01 по 23:59. &#x20;

<div align="left"><img src="/files/Q0tnnlszspfDeoccyCUg" alt=""></div>

* **Меньше чем:** *например,* записаться на вебинар можно до 19:00. Для этого делаем условие <mark style="color:green;">Время</mark> <mark style="color:red;">Меньше чем</mark> <mark style="color:orange;">19:00</mark>. Если время меньше 19:00, то добавляем человека в группу пользователей "Записались на вебинар" и потом делаем для этой группы рассылку. Если человек пришёл в бота ровно в 19:00 или позже, то он не успел.&#x20;

![](/files/7keQ0tknifNJsHBeeOPf)

* **Больше или равен**: пример реализации такой же, как и условием Больше чем. Ставим условие параметр <mark style="color:green;">Время</mark> <mark style="color:red;">Больше или равен</mark> <mark style="color:orange;">09:00</mark>. Тогда бот не будет беспокоить новыми сообщениями в период с 00:00 до 08:59.&#x20;
* **Меньше или равен:** *наприме&#x440;**,*** нужно прекратить отправку новых сообщений вечером, чтобы не мешать людям спать. Ставим условие параметр <mark style="color:green;">Время</mark> <mark style="color:red;">Меньше или равен</mark> <mark style="color:orange;">21:00</mark>. Результат: с 21:01 до 23:59 новые сообщения не будут никого беспокоить.&#x20;

  Можно соединить последние два условия и не беспокоить человека в период с 21:01 до 23:59 и с 00:00 до 08:59. Пример реализации на скриншоте :point\_down:&#x20;

<div align="left"><img src="/files/b3ahkOWQadDvKcmkP5cV" alt=" С такими условиями время получения новых сообщений будет с 09:00 до 21:00."></div>

### "Дата"

Для параметра "Дата" есть следующие доступные значения:

* **Равен**: условие выполнится только в определённый день. Например, 8-го марта отправляем промокод со скидкой на косметику. Если любой другой день, условие не сработает, бонусов не будет. Реализация: параметр <mark style="color:green;">Дата</mark> <mark style="color:red;">Равен</mark> <mark style="color:orange;">08.03.2022</mark>
* **Не равен**: условие выполнится в любой из 364-365 дней в году, кроме одного дня. Реализация: параметр <mark style="color:green;">Дата</mark> <mark style="color:red;">Не равен</mark> <mark style="color:orange;">31.12.2021</mark>
* **Больше чем**: условие выполнится, если дата, указанная в условии, уже прошла. *Пример:* показываем условия конкурса в новом году. Для этого поставим условие <mark style="color:green;">Дата</mark> <mark style="color:red;">Больше чем</mark> <mark style="color:orange;">31.12.2021</mark>. Под такое условие попадает весь январь 2022 года, февраль и все дни 2022-го года, 23-го, и т.д.&#x20;
* **Меньше чем**: условие выполнится, когда дата, написанная в условии, ещё не наступила. *Пример*: акция действует до февраля 2022 года. Нужно создать условие: <mark style="color:green;">Дата</mark> <mark style="color:red;">Меньше чем</mark> <mark style="color:orange;">01.02.2022</mark>.&#x20;
* **Больше или равен**: условие выполнится, если дата, написанная в условии уже прошла, или сегодня дата, которая указана в условии. Например, акция действует до февраля. Напишем условие <mark style="color:green;">Дата</mark> <mark style="color:red;">Больше или равен</mark> <mark style="color:orange;">31.01.2022</mark>. Под это условие подойдёт весь февраль, март и т.д., а также и 31.01.2022, которую мы указали в условии.&#x20;
* **Меньше или равен:** *например,* акция — успей до нового года. Реализация: параметр <mark style="color:green;">Дата</mark> <mark style="color:red;">Меньше или равен</mark> <mark style="color:orange;">31.12.2021</mark>. Под это условие подходят все даты, что были до 31 декабря, и само 31 декабря.&#x20;

### "Имя" и "Фамилия"

Самое банальное применение условия по параметру Имя — "<mark style="color:red;">**Содержит**</mark>".&#x20;

<div align="left"><img src="/files/8OaNA87WJZgueY6jAdcu" alt=""></div>

***Пример***: нужно провести акцию в день Святого Валентина, чтобы все Валентины получили подарок-скидку-бонус. Для этого делаем условие: <mark style="color:green;">Имя</mark> <mark style="color:red;">Содержит</mark> <mark style="color:orange;">Валентин</mark>. Под такое условие попадёт и Валентин, и Валентина.

{% hint style="warning" %}
**ВНИМАНИЕ!**\
\
Под это условие может попасть также и "<mark style="color:red;">Валентин</mark>иан" и "Не<mark style="color:red;">валентин</mark>", "<mark style="color:red;">Валентин</mark>ка" и тому подобное. Потому что в этих словах тоже содержится "Валентин".&#x20;
{% endhint %}

Чтобы такого не происходило, можно поставить условие параметр <mark style="color:green;">Имя</mark> <mark style="color:red;">Равен</mark> <mark style="color:orange;">Валентин</mark> и параметр <mark style="color:green;">Имя</mark> <mark style="color:red;">Равен</mark> <mark style="color:orange;">Валентина</mark>. В таком случае ошибок не будет и точное соответствие условию гарантировано.&#x20;

С помощью условия "Заполнен" — "Не заполнен" можно проверить, заполнены ли эти данные. Но для параметров <mark style="color:green;">Имя</mark> и <mark style="color:green;">Фамилия</mark> в 99% случаев информация будет заполнена, т.к. она автоматически берется из соцсетей и мессенджеров.&#x20;

Также можно проверить <mark style="color:green;">Имя/Фамилию</mark> на <mark style="color:red;">**соответствие регулярке**</mark> (регулярному выражению).&#x20;

{% hint style="info" %}
&#x20;[Регулярное выражение](/regulyarnye-vyrazheniya.md) — это список, например, ^(1\[8-9]|\[2-8]\[0-9]|9\[0-5])$, который посимвольно проверяет, подходит написанное или нет. Например, номер телефона должен начинаться с +, содержать 12 символов, первой цифрой должна быть 7 и т.д.&#x20;
{% endhint %}

Если по-простому, регулярное выражение — это список требований к тексту. Имя и Фамилию также можно проверять таким методом.&#x20;

***Пример:*** нам нужны все люди, с фамилией, заканчивающейся на -ОВ. Например, Иванов, Петров, Сидоров. Делаем такое условие: параметр <mark style="color:green;">Фамилия</mark> <mark style="color:red;">**Соответствует регулярке**</mark> <mark style="color:orange;">^.+?ов$</mark>

{% hint style="success" %}
Если вы хотите проверять "Имя" или любые другие данные регуляркой, напишите нам в [тех.поддержку](/kak-zadat-vopros-v-podderzhku.md), и мы поможем составить регулярку под вашу задачу.&#x20;
{% endhint %}

Также вы всегда можете воспользоваться готовым списком регулярных выражений:&#x20;

{% content-ref url="/pages/xYrFCtgmz7Bw1bJsKW7W" %}
[Регулярные выражения](/regulyarnye-vyrazheniya.md)
{% endcontent-ref %}

### Телефон, почта, баллы, жизни и другие пользовательские переменные

**Переменная** — это термин из программирования, но понять его не сложно. Представим, что у нас есть шкаф с ящиками. И мы знаем, что в каждом ящике что-то лежит.&#x20;

Например, в этом ящике лежит зимняя одежда, в том — одеяло и т.д.&#x20;

Переменная — это ящик, в котором что-то лежит. Например, выше мы уже работали с переменными <mark style="color:green;">Имя и Фамилия</mark>. У каждого пользователя они свои. У этого человека переменная <mark style="color:green;">Имя</mark> — Иван. Переменная <mark style="color:green;">Фамилия</mark> — Сидоров.&#x20;

Переменные хранят значения, информацию. У Сидорова переменная "телефон" хранит 8-800-555-35-35. А у Иванова в переменной "телефон" содержится +7918-88888888-8888888.&#x20;

В [LeadConverter](https://leadconverter.ru/?utm_source=doc\&utm_medium=article\&utm_campaign=condition) есть информация о каждом пользователе, проходящем чат-бота. В разделе **"Подписчики"** открываем "шкаф" Иванова, и там много-много ящиков: имя, фамилия, телефон, email, количество баллов, статус оплаты и др.

Эта информация пригодится нам для дальнейшей работы. Дальше узнаем, как можно применять условия к переменным.&#x20;

**Возможные значения:**&#x20;

Далее все примеры будут строиться на основе переменной "Баллы". *Например*, у нас есть простенький чат-бот с вопросами, и если ответ правильный, то плюс 1 балл в переменную. Если неправильный — минус один балл из переменной.&#x20;

* **Равен:** *наприме&#x440;**,*** по окончании теста должно получиться максимум 12 баллов. Чтобы определить самых крутых, делаем условие: переменная <mark style="color:green;">Баллы</mark> <mark style="color:red;">Равен</mark> <mark style="color:orange;">12</mark>. &#x20;
* **Не равен:** *наприме&#x440;**,*** разделим людей на чемпионов с максимальным количеством баллов и на тех, кто ответил не на все вопросы. Сделаем условие: переменная <mark style="color:green;">Баллы</mark> <mark style="color:red;">Не равен</mark> <mark style="color:orange;">12</mark>. Если условие выполнено, пишем: "У тебя не получилось везде дать правильный ответ".&#x20;
* **Больше чем:** *наприме&#x440;**,*** будем считать, что 10-11-12 баллов, это хороший результат. Делаем условие: переменная <mark style="color:green;">Баллы</mark> <mark style="color:red;">Больше чем</mark> <mark style="color:orange;">9</mark>. Под это условие подходят все участники с баллами 10-12.&#x20;
* **Меньше чем:** *наприме&#x440;**,*** если количество баллов 5-6 и ниже, будем считать это плохим результатом. Для этого делаем условие: параметр <mark style="color:green;">Баллы</mark> <mark style="color:red;">Меньше чем</mark> <mark style="color:orange;">7</mark>. Под такое условие подходят все числа с минусом, а также с 0 до 6 включительно.&#x20;
* **Больше или равен:** *наприме&#x440;**,*** будем считать, что 10-11-12 баллов — это хороший результат. Делаем условие: переменная <mark style="color:green;">Баллы</mark> <mark style="color:red;">Больше или равен</mark> <mark style="color:orange;">10</mark>. Под это условие подходят все участники с баллами 10-12.&#x20;
* **Меньше или равен:** *наприме&#x440;**,*** если количество баллов 5-6 и ниже, будем считать это плохим результатом. Для этого делаем условие: параметр <mark style="color:green;">Баллы</mark> <mark style="color:red;">Меньше или равен</mark> <mark style="color:orange;">6</mark>. Под такое условие подходят все числа с минусом, а также с 0 до 6 включительно.&#x20;
* **Соответствует регулярке:** *наприме&#x440;**,*** для нас главное, чтобы при прохождении теста человек не ушёл в минус. Для проверки этого можно использовать регулярное выражение. Реализация: параметр <mark style="color:green;">Баллы</mark> <mark style="color:red;">Соответствует регулярке</mark> <mark style="color:orange;">^\d+$ .</mark>&#x20;

  Данное регулярное выражение взято из [этой](/regulyarnye-vyrazheniya.md) статьи и будет проверять положительное целое число. Т.е. числа с минусом не пройдут в этом условии.&#x20;
* **Содержит:** *наприме&#x440;**,*** можно также проверить, является ли число отрицательным, и сделать условие параметр <mark style="color:green;">Баллы</mark> <mark style="color:red;">Содержит</mark> <mark style="color:orange;">-</mark> . Если там действительно отрицательное число, то условие сработает. Можно написать: "Дружище, ты не справился".
* **Не содержит:** *наприме&#x440;**,*** проверяем, отрицательное число, или нет. Для этого также делаем условие параметр <mark style="color:green;">Баллы</mark> <mark style="color:red;">Не содержит</mark> <mark style="color:orange;">-</mark> . Условие выполнится, если у числа не будет минуса.&#x20;
* **Заполнен:** *наприме&#x440;**,*** можно проверить, проходил ли человек тест. Если не проходил, то переменная <mark style="color:green;">Баллы</mark> будет пустой, т.е. не заполненной. Реализация: параметр <mark style="color:green;">Баллы</mark> <mark style="color:red;">Заполнен</mark>. Если заполнено и тест проходился, тогда условие выполнится.&#x20;
* **Не заполнен** — это условие противоположно прошлому. Если выполнится, значит переменная <mark style="color:green;">Баллы</mark> пустая и тест не проходился. Реализация: параметр <mark style="color:green;">Баллы</mark> <mark style="color:red;">Не заполнен</mark>.&#x20;

{% hint style="success" %}
Остались вопросы? Задайте их в техподдержку! Мы всегда рады прийти на помощь :relaxed::point\_down:
{% endhint %}

{% content-ref url="/pages/-MasAPNcg291uNezFqb4" %}
[Как задать вопрос в поддержку?](/kak-zadat-vopros-v-podderzhku.md)
{% endcontent-ref %}


---

# 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://docs.leadconverter.su/bots/blok-uslovie.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.
