# Связь с триггером

## Поле триг**гера**

Это поле указывает триггер для перехода к другому блоку.

<div data-with-frame="true"><figure><img src="/files/e3ae9bb6bd698f2de604b8a5bc5e22918c794939" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="success" %}
Триггер перехода можно задать с помощью ключевого слова (callback). Подробнее можно прочитать о [Триггеры и тип совпадения **здесь**](/doc/ru/chatbot/builder/setting/trigger/type.md).
{% endhint %}

{% hint style="info" %}
Если **Trigger** поле в соединении оставлено пустым, переход произойдет по любому слову или фразе от пользователя.
{% endhint %}

### Триггеры соединения

Соединение с триггером — это соединение, которое активирует переход только при выполнении определенного триггера.

<div data-with-frame="true"><figure><img src="/files/45d657b4539202df2bc1621ed9fe1ebf7b0553ec" alt="" width="563"><figcaption></figcaption></figure></div>

Триггеры соединения могут задаваться:

* По определенному слову (callback) — указывается в **Trigger** поле.\
  Например, когда нажата кнопка **НЕТ** бот отвечает **"Хорошего дня!"**. Подробнее об этом можно прочитать **здесь**.\
  В то же время можно указать слова (callbacks), которые стрелка должна игнорировать (чаще всего используется, когда **Trigger** поле пустое).
* Путем анализа значений переменных — указывается в **Переменная** поле. Подробнее об этом можно прочитать **здесь**.

Кроме того, можно создавать кнопки клавиатуры (reply). Для этого просто введите текст кнопки в **Trigger** поле и включите **Показывать как кнопку** .

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

<div data-with-frame="true"><figure><img src="/files/eda212600d9263213bdc8b2acd08043e4d9ec5a4" alt=""><figcaption></figcaption></figure></div>

Также можно использовать переменную для сравнения:

<div data-with-frame="true"><figure><img src="/files/6aaae897622fc19f4ffb0076b8bab7311c0ef214" alt=""><figcaption></figcaption></figure></div>

<mark style="color:$warning;">**Однако, согласно правилам синтаксиса, нельзя задавать несколько триггеров сравнения для одной и той же переменной в одном триггере.**</mark>

<div data-with-frame="true"><figure><img src="/files/534357a0419cd1cf23fbfe31e524f7aa98ef90e2" alt=""><figcaption></figcaption></figure></div>

Если вам нужно проверить несколько значений в условии, используйте операторы **и (&&)**, **или (||)**, и другие.

{% hint style="info" %}
[Подробнее о сравнении переменных можно прочитать в статье с таким же названием.](/doc/ru/chatbot/functions/peremennye.md)
{% endhint %}

### Тип совпадения

По умолчанию **"Нечеткое совпадение"** выбрано.&#x20;

В MaviBot существует пять типов совпадения триггеров:

1. Нечеткое совпадение;\
   Условие будет проверяться на частичное совпадение с вводом пользователя. Это означает, что если пользователь введет слово или фразу с ошибками или разными окончаниями, условие все равно сработает.
2. Совпадение по ключевым словам;\
   Если выбран этот вариант, переход сработает, если ответ пользователя содержит хотя бы одно ключевое слово из поля "Триггер".
3. Совпадение по RegEx;\
   Условие проверяет ответ пользователя по регулярному выражению, которое вы укажете.
4. Точное совпадение;\
   Это условие проверяет слово или фразу на точное совпадение, без ошибок и изменений.
5. Семантический поиск.\
   Это умный поиск смысла в сообщении клиента с помощью ИИ.

<div data-with-frame="true"><figure><img src="/files/cb51aa2af8ca4781ab652bbb5b983e07a8ce8fa4" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Например: проверка формата номера телефона, электронной почты, ввода только цифр и т. д. Подробнее можно прочитать о [регулярных выражениях **здесь**.](/doc/ru/chatbot/functions/regex.md)
{% endhint %}

### **Дополнительные настройки соединения**

Чтобы открыть дополнительные настройки, нажмите на **«Дополнительные настройки»** ниже **Тип совпадения** полем, как показано на изображении ниже.

<div data-with-frame="true"><figure><img src="/files/14cb1ebd11362b6320d5fea545940df053a326c0" alt="" width="563"><figcaption></figcaption></figure></div>

### Игнорировать триггеры

Введите здесь "негативные слова" — слова или фразы, на которые бот не должен реагировать при проверке триггера.

<div data-with-frame="true"><figure><img src="/files/c7c99e581ae9eba22a5d0c7f6d6e0006a60d23d8" alt="" width="563"><figcaption></figcaption></figure></div>

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

Переменная для сравнения работает вместе с триггером или со стрелкой "Игнорировать триггеры". То есть должны выполняться и триггер, и триггер в переменной.

<div data-with-frame="true"><figure><img src="/files/fe7453c6cffa7e8c61d536c69aed36b849ef8ec9" alt="" width="563"><figcaption></figcaption></figure></div>

Если в поле переменной для сравнения указать только имя переменной без выражения, условие будет сравниваться со значением переменной, а не с вводом пользователя.

{% hint style="warning" %}
Его следует указывать без `#{}`, используя только имя переменной.
{% endhint %}

В примере, показанном на изображении ниже, переход произойдет, если значение переменной "AGE":

<div data-with-frame="true"><figure><img src="/files/9709e7259aeacc227dea7e7d3845e47631467dc2" alt=""><figcaption></figcaption></figure></div>

В примере создано четыре блока:

1. A **блока «Старт»** для входа в бота: этот блок спрашивает возраст клиента.
2. A **второй блок** с соединением, которое собирает данные клиента в переменную (эта переменная поможет направить клиента по воронке).
3. **Два блока** соединены с предыдущим блоком:
   * Если клиент **старше 18**, будет отправлено сообщение "Второе сообщение".
   * Если клиент **младше 18**, будет отправлено сообщение "Извините, вы не можете писать боту".

<div data-with-frame="true"><figure><img src="/files/d5af51a7be3d4d8c10fb8ae1f51ffad0a70b98ab" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/0d221a7c9d427190fbe5ec04a1c0a67983acda5b" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="success" %}
Подробнее о соединениях для сбора данных можно узнать в статье "[Соединение со сбором данных](/doc/ru/chatbot/builder/svyazi/data.md)".
{% endhint %}

Шаг 1. Создайте четыре блока.

<figure><img src="/files/b63b83b8e51938b87a2b275ebf3ba6f17f18f242" alt="" width="375"><figcaption></figcaption></figure>

Шаг 2. Соедините блок "Старт" со вторым блоком "Чат".

<div data-with-frame="true"><figure><img src="/files/551b167baf7c4eb34e5459e29986a27c6566edb0" alt="" width="563"><figcaption></figcaption></figure></div>

Шаг 3. Перейдите в настройки соединения и активируйте чекбокс "Сбор данных".

<div data-with-frame="true"><figure><img src="/files/21d3242a354134c2385cb7279e6c679289a377a5" alt="" width="563"><figcaption></figcaption></figure></div>

Шаг 4. Введите переменную в поле "Входные данные" и сохраните настройки соединения.

<figure><img src="/files/38e60d4a24a842aedcc4b3e0d7ab77eb399bce17" alt="" width="563"><figcaption></figcaption></figure>

Шаг 5. Соедините второй блок с оставшимися блоками.

<div data-with-frame="true"><figure><img src="/files/bff312683515b362451bcdcbc30766d5ff650d14" alt="" width="563"><figcaption></figcaption></figure></div>

Шаг 6. Перейдите в настройки соединения и введите 'age ≥ 18' в поле "Переменная".

<div data-with-frame="true"><figure><img src="/files/6a2ba50e8c4312fdd09537a5f5b358cf317a0713" alt=""><figcaption></figcaption></figure></div>

Шаг 7. Установите таймер на "0 секунд" на том же соединителе.

<div data-with-frame="true"><figure><img src="/files/3a8674d39ee95b7f164673c74e58f9cba06aabd2" alt=""><figcaption></figcaption></figure></div>

Шаг 8. Установите значение "age < 18" и настройте соединитель аналогично предыдущему.

<div data-with-frame="true"><figure><img src="/files/df466149af417f1282ac9180f4a2b568161882e3" alt=""><figcaption></figcaption></figure></div>

{% hint style="success" %}
Готово! Теперь вы научились создавать бота, который проверяет возраст клиента и отправляет сообщение в зависимости от его возраста!
{% endhint %}

### Приоритет

По умолчанию значение приоритета установлено на 10. Чем выше приоритет условия, тем раньше оно будет проверяться.

<div data-with-frame="true"><figure><img src="/files/544dfec606862c9e5c8209078e488e59edb98c56" alt="" width="563"><figcaption></figcaption></figure></div>

### Триггер только по callback

Если этот переключатель активирован, клиент перейдет к следующему блоку, соединенному стрелкой, только если системой будет получен callback.

<div data-with-frame="true"><figure><img src="/files/36b0a427bafbcd4c9ef61c3e28e445eb78931636" alt="" width="386"><figcaption></figcaption></figure></div>


---

# 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.mavibot.ai/doc/ru/chatbot/builder/svyazi/trigger.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.
