Динамические кнопки с подсказками

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

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

Массив

Чтобы были кнопки, как на картинке выше, нужно получить из сервера массив:

[    
  "Железногорск (Курская область)",    
  "Железногорск (Красноярский край)",    
  "Железногорск-Илимский"
]

Путь до массива — название переменной, в которой он передался. На примере это Array1, в экране Массив мы записали в переменную Array1 наш массив.

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

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

Допустим, у нас в переменную Array1 записан массив объектов:

[    
  {   
    "id": 1,       
    "name": "Кнопка 1"
  },    
  {   
    "id": 2,       
    "name": "Кнопка 2"
  }
]

В поле Имя поля в источнике данных. Является текстом на кнопке вписываем значение name.

В переменную pressedButton записываем текст кнопки, которую нажал пользователь.

Далее, в переменную ID записываем значение id, которое соответствует нажатой кнопке в объекте Array1. Для этого в компоненте Запись переменной записываем в поле значения выражение:

{{#each Array1}} // Обходим каждый элемент массива
{{#eq ../pressedButton this.name}} // Если текст в pressedButton и this.name совпадают
{{this.id}} // Записываем требуемое поле
{{/eq}}{{/each}}

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

{{#each Array1}}{{#eq ../pressedButton this.name}}{{this.id}}{{/eq}}{{/each}}

Динамические кнопки поддерживают ряды.

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

[
  ["Ряд 1 кнопка 1", "Ряд 1 кнопка 2", "Ряд 1 кнопка 3"],
  ["Ряд 2 кнопка 1", "Ряд 2 кнопка 2", "Ряд 2 кнопка 3"],
  ["Ряд 3 кнопка 1", "Ряд 3 кнопка 2", "Ряд 3 кнопка 3"]
]

Вместо Ввода от пользователя и Перемотки можно установить и настроить Развилку, если есть необходимость перевести пользователя на другой экран с помощью кнопки.

Защищенный контент

Компонент Динамическая группа кнопок с подсказками поддерживает функцию защиты контента в Telegram. При активном чек-боксе Защитить контент, пользователь бота не сможет скопировать и переслать информацию из сообщения.

В начало ↑