> 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).

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

![](https://2114987056-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfhAagTPmzvUU2TSq8e%2F-MfrHRQ83EeV59N7I5wr%2F-MfrHbAGpuSuUsG2qKy3%2F53.jpg?alt=media\&token=3266c8c9-c5dd-423c-a6a2-7e4a9b9b0b2f)

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

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

![](https://2114987056-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfhAagTPmzvUU2TSq8e%2F-MfrHRQ83EeV59N7I5wr%2F-MfrI28Q9vRO56m-h_IC%2F55.jpg?alt=media\&token=1a6635ad-168d-4a28-ad7a-05ed4c4295d0)

&#x20;

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

![](https://2114987056-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MfhAagTPmzvUU2TSq8e%2F-MfrHRQ83EeV59N7I5wr%2F-MfrIBm4WxOITsohcAVs%2F56.jpg?alt=media\&token=5d98b82d-342a-4b0f-b88f-d7e8265f6a9c)

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

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

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

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

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

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