> For the complete documentation index, see [llms.txt](https://book.microcrm.online/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.microcrm.online/konstruktor-chat-botov/tipy-uzlov/usloviya.md).

# Условия

<figure><img src="/files/PZPwTXLAw3UO4YIEEJsT" alt=""><figcaption></figcaption></figure>

#### **Все условия имеют два выхода:**

* ✅ **TRUE (зелёная точка)** — условие выполнено
* ❌ **FALSE (красная точка)** — условие не выполнено

## **Проверка текста**

Проверяет текст последнего сообщения пользователя.

<figure><img src="/files/sqrZ3P0Z0WVNHXBiegSv" alt=""><figcaption></figcaption></figure>

### **Типы проверок**

1. **Содержит** — сообщение содержит указанную подстроку

   ```
   Значение: "да"
   "да, согласен" → TRUE
   "хорошо" → FALSE
   ```
2. **Равно** — сообщение точно совпадает (регистр не учитывается)

   ```
   Значение: "отмена"
   "отмена" → TRUE
   "отмена заказа" → FALSE
   ```
3. **Начинается с** — сообщение начинается с указанного текста

   ```
   Значение: "/cmd"
   "/cmd start" → TRUE
   "команда /cmd" → FALSE
   ```
4. **Заканчивается на** — сообщение заканчивается указанным текстом

   ```
   Значение: "?"
   "как дела?" → TRUE
   "привет" → FALSE
   ```
5. **Регулярное выражение** — для сложных проверок

   ```
   Значение: "^[0-9]+$"
   "12345" → TRUE
   "123abc" → FALSE
   ```

## **Переменная**

Проверяет значение переменной контекста.

<figure><img src="/files/Fbx3VI2b5e6tf7dDOwBc" alt=""><figcaption></figcaption></figure>

### **Операторы сравнения**

* `==` — равно
* `!=` — не равно
* `>` — больше
* `<` — меньше
* `>=` — больше или равно
* `<=` — меньше или равно
* `contains` — содержит (для строк)

### **Примеры**

```
{{context.score}} > 10
{{context.user_name}} == "Иван"
{{context.answers}} contains "да"
```

## **Клиент существует**

Проверяет, есть ли в CRM клиент с данным Telegram ID.

<figure><img src="/files/Xz63wLgXBhKky54JPOrO" alt=""><figcaption></figcaption></figure>

### **Использование**

* TRUE → клиент найден в базе
* FALSE → новый пользователь

### **Пример сценария**

```
[Клиент существует?]
    ├─ TRUE → "Рады видеть вас снова!"
    └─ FALSE → "Добро пожаловать! Давайте познакомимся."
```

## **Есть покупки**

Проверяет, есть ли у клиента завершённые транзакции.

<figure><img src="/files/bZgH8fc7fUl2d7RPsurx" alt=""><figcaption></figcaption></figure>

### **Использование**

* TRUE → клиент совершал покупки
* FALSE → клиент новый или не покупал

### **Пример сценария**

```
[Есть покупки?]
    ├─ TRUE → "Спасибо за покупки! Вот персональная скидка: {{context.discount_code}}"
    └─ FALSE → "Специально для вас скидка на первый заказ!"
```

## **Время суток**

Проверяет текущее время в часовом поясе компании.

<figure><img src="/files/6Nnb2WxjALv69vLPgKMI" alt=""><figcaption></figcaption></figure>

### **Периоды**

* Утро — 06:00-11:59
* День — 12:00-17:59
* Вечер — 18:00-22:59
* Ночь — 23:00-05:59

### **Использование**

```
[Время суток?]
    ├─ Утро → "Доброе утро! ☀️"
    ├─ День → "Добрый день! 🌤️"
    ├─ Вечер → "Добрый вечер! 🌆"
    └─ Ночь → "Доброй ночи! Мы работаем круглосуточно! 🌙"
```
