# Работа с условиями

{% hint style="info" %}
Блок "Условие" - данный блок используется для разветвления сценария по заданному условию.
{% endhint %}

При создании данного блока ты можете увидеть два пункта меню "Да", "Нет", они обозначают куда направится пользователь при выполнении или не выполнении условия.

<figure><img src="https://49415206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxxJzgLIMfD15nVewbHNz%2Fuploads%2FzdsmvPwGYo9dLnZyRW3b%2F%D0%97%D0%BD%D1%96%D0%BC%D0%BE%D0%BA%20%D0%B5%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202022-11-21%20%D0%BE%2018.29.23.png?alt=media&#x26;token=24031df4-1be0-4939-a808-d09a984d3064" alt=""><figcaption></figcaption></figure>

На данный момент доступны следующие типы условий:

* Контакт содержит теги
* Контакт не содержит теги
* Сообщение содержит текст
* Сообщение совпадает с
* Текущая дата сравнивается с установленной датой
* Текущее время сравнивается с установленным временем
* Текущий день недели совпадает с установленными днями
* Сообщение сравнивается с числом
* Переменная совпадает с установленным выражением
* Переменная не пустая
* Переменная существует

Можно задать несколько условий одновременно и настроить тип их обработки:

* Выполняются все условия одновременно
* Выполняется хотя бы одно из условий

<figure><img src="https://49415206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxxJzgLIMfD15nVewbHNz%2Fuploads%2Ff4RvVB60OQvzRhIoGP3c%2Fimage.png?alt=media&#x26;token=c4bf379d-b808-4a10-bb41-adf8f6d57781" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Блок "Переключатель"
{% endhint %}

Иногда требуется распределить трафик пользователей по разным веткам сценария исходя из каких-то условий, для этого вы можете воспользоваться блоком [Условие](https://help.onebot.tech/onebot-help/bloki-konstruktora/prostye/rabota-s-usloviyami). Но в таком случае направить трафик возможно только по двум веткам, клиент подходит под условие, либо не подходит.

<figure><img src="https://49415206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxxJzgLIMfD15nVewbHNz%2Fuploads%2FaK9ZJk73MzkOqW1PvGKX%2Fimage.png?alt=media&#x26;token=66beaf78-6d15-4f07-827f-7789f6cc87fa" alt=""><figcaption><p>Блок "Условие"</p></figcaption></figure>

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

В настройках блока вы можете добавить несколько условий.

<figure><img src="https://49415206-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxxJzgLIMfD15nVewbHNz%2Fuploads%2FPkIG46ZtoHA7D3igaC43%2F%D0%97%D0%BD%D1%96%D0%BC%D0%BE%D0%BA%20%D0%B5%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202022-11-21%20%D0%BE%2018.36.52.png?alt=media&#x26;token=b4bf5685-2385-4836-bb33-1c451b6296a7" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Условия проверяются последовательно от верхнего к нижнему, срабатывает первое подходящее условие. Если ни одно условие не подошло, то срабатывает условие «По умолчанию», по тому же принципу как и «Любая другая фраза» в других блоках
{% endhint %}

На данный момент доступны следующие типы условий:

* Сообщение содержит текст
* Сообщение совпадает с текстом
* Контакт содержит/ не содержит теги
* Контакт имеет установленное количество рефералов
* Контакт подписан на Телеграм канал/ группу
* Текущий день недели совпадает с установленными днями
* Переменная совпадает с установленным выражением
* Глобальная переменная совпадает с установленным выражением
