Создает новый экземпляр коллекции кнопок. Инициализирует все массивы и устанавливает тип кнопок по умолчанию для Алисы.
Static
Readonly
T_Кнопки для Алисы.
Static
Readonly
T_Кнопки для карточки Алисе.
Static
Readonly
T_Кнопки для vk.
Static
Readonly
T_Кнопки для Telegram.
Static
Readonly
T_Кнопки для viber.
Static
Readonly
T_Кнопки для Сбер SmartApp.
Static
Readonly
T_Кнопки для карточки Сбер SmartApp.
Static
Readonly
T_Кнопки для пользовательского типа приложения.
Массив объектов Button, представляющих все кнопки в коллекции.
Массив интерактивных кнопок. Может содержать строки или объекты с параметрами кнопки.
Массив кнопок-ссылок. Может содержать строки или объекты с параметрами кнопки.
Тип кнопок для текущей платформы. Определяет, как будут отображаться кнопки.
Очищает все массивы кнопок.
Protected
_Protected
Добавляет кнопку в коллекцию.
Текст кнопки
URL для перехода
Дополнительные данные
Тип отображения кнопки
Дополнительные параметры
this для цепочки вызовов
Добавляет интерактивную кнопку в коллекцию.
Текст кнопки
Optional
url: null | string = ''URL для перехода
Optional
payload: any = ''Дополнительные данные
Optional
options: IButtonOptions = {}Дополнительные параметры
this для цепочки вызовов
Добавляет кнопку-ссылку в коллекцию.
Текст кнопки
Optional
url: string = ''URL для перехода
Optional
payload: any = ''Дополнительные данные
Optional
options: IButtonOptions = {}Дополнительные параметры
this для цепочки вызовов
Protected
_Protected
Обрабатывает массивы btns и links, добавляя их в основной массив buttons. После обработки очищает массивы btns и links.
Возвращает массив кнопок, адаптированный для указанной платформы.
Optional
type: null | string = nullТип кнопок (платформа). Если не указан, используется текущий тип. Доступные типы:
Optional
userButton: null | TemplateButtonTypes = nullПользовательский класс кнопок для T_USER_APP_BUTTONS
Адаптированные кнопки для платформы или null, если тип не поддерживается
const buttons = new Buttons();
// Добавление кнопок
buttons.addBtn('Нажми меня', '', { action: 'test' });
buttons.addLink('Сайт', 'https://example.com');
// Получение кнопок для разных платформ
// Алиса
const alisaButtons = buttons.getButtons(Buttons.T_ALISA_BUTTONS);
// alisaButtons: [
// { title: 'Нажми меня', payload: { action: 'test' }, hide: true },
// { title: 'Сайт', url: 'https://example.com', hide: false }
// ]
// VK
const vkButtons = buttons.getButtons(Buttons.T_VK_BUTTONS);
// vkButtons: {
// one_time: true,
// buttons: [
// { action: { type: 'text', label: 'Нажми меня', payload: { action: 'test' } } },
// { action: { type: 'link', label: 'Сайт', link: 'https://example.com' } }
// ]
// }
// Telegram
const telegramButtons = buttons.getButtons(Buttons.T_TELEGRAM_BUTTONS);
// telegramButtons: {
// inline_keyboard: [
// [{ text: 'Нажми меня', callback_data: { action: 'test' } }],
// [{ text: 'Сайт', url: 'https://example.com' }]
// ]
// }
// Viber
const viberButtons = buttons.getButtons(Buttons.T_VIBER_BUTTONS);
// viberButtons: {
// DefaultHeight: true,
// BgColor: '#FFFFFF',
// Buttons: [
// { Text: 'Нажми меня', ActionType: 'reply', ActionBody: { action: 'test' } },
// { Text: 'Сайт', ActionType: 'open-url', ActionBody: 'https://example.com' }
// ]
// }
Возвращает JSON-представление кнопок для указанной платформы.
Optional
type: null | string = nullТип кнопок (платформа)
Optional
userButton: null | TemplateButtonTypes = nullПользовательский класс кнопок
JSON-строка с кнопками
Buttons Класс для управления коллекцией кнопок и их отображением на различных платформах.
Класс предоставляет функциональность для:
Example