Динамическая группа кнопок с подсказками

Компонент отправляет пользователю текст и прикрепленные к клавиатуре кнопки, которые можно сгенерировать из переменной. Работает во всех платформах.

Внешний вид кнопок

Массив

Чтобы получить группу кнопок, как на картинке выше, нужно получить из сервера массив:
[
    "Железногорск (Курская область)",
    "Железногорск (Красноярский край)",
    "Железногорск-Илимский"
]

Настройка компонента

Путь до массива — название переменной, в которой он передался. На примере это просто last_request.
Если у вас массив объектов, то нужно поставить галочку для поля «Наличие объектов внутри массива» и указать значение в поле «Имя поля в источнике данных. Является текстом на кнопке».

Обработка кнопок

Допустим, в Состоянии пользователя есть массив array:
[
    {   "id": 1,
       "name": "Кнопка 1"},
    {   "id": 2,
       "name": "Кнопка 2"}
]
Пользователю была отправлена Динамическая группа кнопок с подсказками:
[Кнопка 1]
[Кнопка 2]
Пользователь нажал на кнопку 2 и в состояние в переменную pressedButton записалось значение "Кнопка 2".
Необходимо получить id (или любое другое поле из объекта нажатой кнопки).
Получим нужное поле элемента массива соответствующего нажатой кнопки с помощью компонента «Запись».
Запись осуществляется в переменную pressedButtonId:
{{#each array}} // Обходим каждый элемент массива
{{#eq ../pressedButton this.name}} // Если текст в pressedButton и this.name совпадают  
{{this.id}} // Записываем требуемое поле
{{/eq}}{{/each}}

Шаблон для копирования

{{#each array}}{{#eq ../pressedButton this.name}}{{this.id}}{{/eq}}{{/each}}
Нельзя использовать такой шаблон, если есть одинаковые названия кнопок. Так как в случае совпадения будут записаны подряд поля всех совпадений.