> For the complete documentation index, see [llms.txt](https://jetbot.gitbook.io/help_docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jetbot.gitbook.io/help_docs/sozdanie-chat-botov/prostye-bloki/pereklyuchatel.md).

# Блок "Переключатель"

![](/files/-MfrHbAGpuSuUsG2qKy3)

{% embed url="<https://www.youtube.com/watch?v=76j7DKq6EJk>" %}

Блок "переключатель" похож по своему функционалу на блок "условие". Только в блоке "переключатель" разделение сценария идет не по двум ветвям (как у блока "условие"), а по множеству ветвей, в соответствии с первым подходящим условием.

![](/files/-MfrI28Q9vRO56m-h_IC)

&#x20;

**Список доступных условий**:\
\
**1. Сообщение содержит текст**\
Идет проверка по наличию в сообщении от пользователя текста, который указан в настройках блока.\
\
Например:\
Мы просим клиента задать свой вопрос.\
Пользователь написал нам: "Какой у вас график работы?"\
В блоке "переключатель" мы задали несколько слов, по которым происходит проверка (в нашем примере это слова - доставка, оплата, график)\
\
Бот проверяет все условия из блока "переключатель" сверху вниз:\
1\. Сначала проверяет, содержит ли вопрос от клиента слово "доставка"?\
В данном примере - не содержит, спускается к следующему условию\
\
2\. Проверяет, содержит ли вопрос от клиента слово "оплата"?\
В данном примере - не содержит, спускается к следующему условию\
\
3\. Проверяет, содержит ли вопрос от клиента слово "график"?\
В данном примере - содержит. Значит бот перенаправляет клиента по кнопке "условие 3"\
\
\* Примечание:\
Кнопка "по умолчанию" - если бы пользователь написал вопрос, в котором нет ни одного слова из заданных нами в настройках, то бот пустил бы клиента по ветке "по умолчанию".\
\
\
Пользователь может написать любой, довольно длинный вопрос. Бот проверяет, есть ли в этом длинном вопросе заданное слово (или фраза).\
\
Бот не чувствителен к регистру:\
Если в настройках написано: "график", а пользователь написал: "График" или "ГрАфиК, бот будет считать это за совпадение и пропустит по ветке "график".

![](/files/-MfrIBm4WxOITsohcAVs)

В помощью данного блока можно создавать "разговорники" человека и бота. Когда человек задает любой вопрос, а бот выцепляет триггерные слова и дает определенную реакцию.\
\
Подобный пример использования блока "переключатель" рассмотрен подробно в видео на нашем Youtube канале.

\
**2. Сообщение совпадает с текстом**\
При данном условии, в отличии от условия из п.1 - текст, который Вы задали в настройках блока и текст, который пользователь отправляет боту должны быть одинаковы и равны по количеству слов.\
\
Например:\
Если в настройках блока Вы задали слово "адрес", и просите пользователя ввести свой вопрос, то пользователь должен написать только одно слово "адрес" (или "Адрес", "АдРеС" - бот не чувствителен к регистру), чтобы его направило по нужной ветке.\
\
Если пользователь напишет "Какой адрес" - его отправит по ветке "по умолчанию" или по ветке "Какой адрес" - если Вы задали такую в качестве условия<br>

**3. Контакт содержит теги** - идет проверка по наличию у пользователя бота выбранного тега (тегов). Если пользователь бота помечен выбранным тегом (тегами) - его направляет по соответствующей ветке, если не помечен - по ветке "по умолчанию", после проверки всех условий сверху вниз\
\
Тег добавляется при нажатии на кнопку "+добавить"

{% hint style="info" %}
Доработка:

Теперь контакт может сравниваться с глобальной переменной (константой). На данный момент в конструкторе доступны две константы: name и phone. Обозначается константа просто в фигурные скобочки {{ }} , без знака $. Для того, чтобы подставить константу с именем, нужно ввести {{name}} , а с телефоном - {{phone}}.
{% endhint %}

\
**4. Контакт не содержит теги** - данное условие противоположно условию из п.3.\
Идет проверка по отсутствию у пользователя бота выбранного тега (тегов). Если пользователь бота не помечен выбранным тегом (тегами) - его направляет по соответствующей ветке.\
Если помечен тегом из условия №1, бот спускается к условию №2 и т.д.\
\
**5. Текущий день недели, совпадает с установленными днями**\
Идет проверка условия на совпадения фактического дня недели, когда пользователь использует бота и дня недели, установленного в настройках \
\
**6. Переменная совпадает с установленным выражением**\
Идет сравнение выбранной переменной и заданного выражения


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://jetbot.gitbook.io/help_docs/sozdanie-chat-botov/prostye-bloki/pereklyuchatel.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
