# Использование кнопок в сообщениях бота | Слот Button Menu и под-слот Button

## Назначение и общая информация

Слот Button Menu — Слот, объявляющий блок кнопок button, которые определяются после этого Слота.

![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-fF1RX8uh18/9cf7b4f0b7e07bfa457a464a173afcd09d12afd134c49d01f79cee57a811e489b5fdc8445dbbaf54d9fc39daf2c8c61b78631d8e7ed52e36e36e09d375e318dc3760cfb19854a8fe20ce7dca810545b93c5522bcc4d3a6303b6b2333a7e8564cd5db65f9)

## Создание и настройки комплексного слота Button Menu (Button Menu+button+fallback)

### Атрибуты слота Button Menu

![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-lIGNS17GyF/03c9ef2fef4547d67e0c1398b795ab85f3af8a927f04f0164d1172ef096bb3a00812d400ebfb94e0d5b7420c69696eea655808c79d3b07ad3efbf39461b93df542d1ecc8e8a5371b92580c565af6a79c6541fa7148a010eb51cae23da5675a84140687f4)

NAME\* — название Слота, которое будет отображено в Дерево сценария. Максимальная длина значения поля — 40 символов.

### Атрибуты подслота Button

![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-OJz_Q4J2uy/2adc518be40da920ef9779708244baa4cc798e3e1f073c82fa1bf6176c720438cb46c94fc3e2e14d82ecfb26b40564689a2aeae63d0c488487214b38868c2e85814522d9887b902d324b6d60bb1d62b4bb56b2cd2c359f5cc71979af3de6e7222b2ddfbb)

1. Name — название Слота, которое будет отображено в Дерево сценария. Максимальная длина значения поля — 40 символов. Если название не введено, на Подслоте в Дерево сценария будут отображаться первые 34 символа из поля Label.
2. Label\* —  название кнопки, которое увидит Собеседник при Общение с Агентом.
3. 1. Обрезка пробелов: по нажатию кнопки CREATE (при создании слота) или SAVE (при редактировании слота) обрезаются пробелы и переносы строк в начале и в конце поля Label.

Изменить текст в сгенерированных Подслотах button можно, развернув подслот двойным нажатием мышки, введя в поле LABEL название кнопки и нажав кнопку Save.

> Важно: конкатенация строк и переменных в Подслотах button не поддерживается. Если в поле LABEL кнопки содержится конкатенация переменных или строки с переменной, то при нажатии такой кнопки Общение перейдет в button.

### Атрибуты подслота Fallback

![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-SmU3Uwz1Cn/e49fa41c54a0df68e2037cdd4e2050300f7efdf5d0f975760df69541a3f2d534a0789da987b88bb5828d2705f5cb8b5a09c2dcbe57a2c9fda25acf84f39270865c7d52df0e08019a1c24e3b6fa7902f14fb46bd089aa0ab104026b72900b723133a47d7c)

Name — название Слота, которое будет отображено в Дерево сценария. Максимальная длина значения поля — 40 символов. При создании Слота Button Menu в поле Name Подслота Fallback автоматически подставляется содержимое поля Name Слота Button Menu. Если содержимое поля Name удалено, Подслот в Дерево сценария будет отображаться без названия.

### Подслоты Button и Fallback

#### Автоматическая генерация подслотов при создании Button Menu

* При создании слота Button Menu автоматически создаются два Подслота button с названиями “Button 1” и “Button 2” и Подслотbutton.

![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-BhOc5QW4NT/96b7a7a0e742f2d1b514250d2bf317c6604df34ec3f9c58e0487aeb132fab9ee6529027a13a3578e60fa9a2ab2528aa4c948a3a25f0a70c6456d889e057e0f6ced2816a10e71735de22e87d6daa2b693ba36926d6005cd2c1be5b40e2e2bcbce852ba0dd)

* Изменить текст в сгенерированных Подслотах button можно, развернув подслот двойным нажатием мышки, введя в поле LABEL название кнопки и нажав кнопку Save.

![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-XjYSr0iwzo/fc0c877670b8649d941baee7a94c8d5d3eb9bc22d82243a9758e03af9b7174a132f8af6eccdf3dfb5af8a75ed8ce2d110ec8f0cca99591a025904fdbe8794732fdcaf1aa6eac57e9114cef956c44de750194afb39d1aeabbb792f9f1e291607fa6c94c75)

* Всегда должен существовать как минимум один Подслот button, поэтому последний Подслот нельзя удалить самостоятельно – он удаляется только вместе со Слотом Button Menu.

#### Добавление подслотов Button

Используя кнопку “+” можно создать новый Подслот button. Новый Подслот button будет создан ниже автоматически сгенерированного Подслота button со значением “Button 2”.![новая кнопка.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-qYDi07Jsxz/5e2368768d25439a6e67ddd9ed1f2818005eb26c0cbb5007d754fd59d3a7a5c43a0cc80b063f50520a9b705478a7463cd8ebd9140aa2612fd24f597dc07d4efedd3a730ef50df77ff367e02d9a9f693dfe8700c0145b6814f984e424ceea027ad3052dfb)

#### Удаление подслотов Button

* Чтобы удалить Подслот button, необходимо кликнуть по нему правой кнопкой мыши и нажать кнопку Remove Branch, затем нажать OK во всплывшем диалоговом окне.
* ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-rssygi5TFB/ed041d3385c7aaa01a345bea134a854c4d31173bb6031fba3aab5fb6b7b099ed271447811c988631c826a4375c9adc1d27dad70341c8dc4eb3a3c4fdab607a2978f61199b7a92914b5bc863c4051e06828b475602a496d6124e78ad84919ff5184296af2)![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-wbbA6zFIAb/160c55e7e55dc39bf63f2a53729f9494fba46fd4b62976bfa626dfbcc17cf231e0b48866b1fb196cd7c70d300f2e33df844f23d1c59be4e4a8d18778f0d5ab0aa2c1385995d48b1992d67bc5e75194e3061ae665df233fa764076a92a12bb18f1066d1de)
* Возможно удалить любой Подслот button, если после удаления у Слота Button Menu остается хотя бы один Дочерний слот button.
* ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-9p79HGtA6U/79b7aeac68457ed5f2b43011565ed37c5e1a2944b86d13f73363dbd72636bfd120a53c3417f23fdb0da345014c24c11d0ff7e4c43ee6043447458dad952adf5cfc646c0e342092e753441623b4ddf31353586e3b8706f144901d5c106a282b29363b2211)
* Удаление Подслот button невозможно. При попытке это сделать появится следующая ошибка по центру внизу:
* ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-FZObnHmAeI/9b36c0f47924848e8c67dcf9ef17ea67ac5194160b83404768a1b33ab938a007cfba67b46482694392526bba2705f970389d73b1cd6c7a79d64ceed54165c9ca73624bc3baa8337bfeb3fed034110561bb7fab77a54eece060e103915b590c2cdad0d7ea)
* Удаление  и единственного Подслот button невозможно. При попытке это сделать появится следующая ошибка по центру внизу:
* ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-8zweYyxEbO/dd95a761de51d0a9f0bfd643de6bdd655c71180d25a16c25506474f09b3281e1ca7f119d3cc621b1a11012265a7e62f6813eebcb1b72589726d70d139b2f15090b0e1a54c0caf10ea597ffe6cd0c1231f016265661a5e105bb92baadd968424c60278417)

### Использование синтаксиса в Подслоте Button

В Подслоте Button допустимо использование Выражение в поле Label. Подробнее: Синтаксис

## Работа слота

Слот Button Menu является пустым по своему содержанию и выполняет лишь формальную роль — определяет блок кнопок, названия которых указываются после него в Подслотах button.

1. При выполнении слота Button Menu на экран выводятся кнопки, на которые может нажать Собеседник в процессе общения с Агентом.
2. Если Собеседник нажимает одну из кнопок, Общение переходит в Подслот button, соответствующий этой кнопке. При этом в client\_message записывается содержимое этой кнопки.
3. > Важно: некоторые Конечный каналы добавляют пробелы в начало и конец сообщения, в том числе в лейблы нажатой Собеседником кнопки, также Собеседник может случайно поставить пробел в конце сообщения. В таких случаях происходит обрезка крайних пробелов сообщения и происходит нажатие кнопки, с лейблом которой совпадает полученная строка.
4. Если Собеседник ввел текст, совпадающий с текстом одной из кнопок (независимо от регистра), то Общение перейдет в Подслот button, соответствующий этой кнопке. При этом в client\_message записывается текст, введенный Собеседником.
5. Если вместо нажатия кнопки Собеседник ввел какой-либо текст, не совпадающий с текстом ни одной из кнопок, Общение переходит в Подслот fallback.
6. Если Собеседник отправил файл, Общение переходит в Подслот fallback.

\ <br>


---

# 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://chatme-ai-4.gitbook.io/docs/proekty-na-platforme/proekt-i-ego-soderzhimoe/agenty-na-platforme/kak-postroit-scenarii-agenta/kak-sozdavat-i-nastraivat-sloty/ispolzovanie-knopok-v-soobsheniyakh-bota-or-slot-button-menu-i-pod-slot-button.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.
