umbot - v2.0.8
    Preparing search index...

    Class TemplateButtonTypesAbstract

    class TemplateButtonTypes Шаблонный класс для работы с кнопками в различных платформах

    Используется для унификации работы с кнопками в разных платформах:

    • Алиса: кнопки в навыке
    • Маруся: кнопки в навыке
    • Telegram: inline-кнопки и кнопки клавиатуры
    • Viber: кнопки в чате
    • VK: кнопки в сообщениях
    class AlisaButton extends TemplateButtonTypes {
    public getButtons(): any {
    return this.buttons.map(button => ({
    title: button.title,
    url: button.url
    }));
    }
    }

    class TelegramButton extends TemplateButtonTypes {
    public getButtons(): any {
    return {
    inline_keyboard: this.buttons.map(button => [{
    text: button.title,
    callback_data: button.url
    }])
    };
    }
    }

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Methods

    Constructors

    Properties

    buttons: Button[]

    Массив кнопок для отображения

    const buttonHandler = new AlisaButton();
    buttonHandler.buttons = [
    new Button('Открыть сайт', 'https://example.com'),
    new Button('Позвонить', 'tel:+79001234567')
    ];

    Methods

    • Получение массива кнопок в формате, специфичном для платформы

      Returns any

      • Кнопки в формате, специфичном для платформы:
      • Алиса/Маруся: массив объектов с title и url
      • Telegram: объект с inline_keyboard или keyboard
      • Viber: массив объектов с Text и ActionBody
      • VK: массив объектов с action и label
      const buttonHandler = new AlisaButton();
      buttonHandler.buttons = [
      new Button('Открыть сайт', 'https://example.com')
      ];

      const result = buttonHandler.getButtons();
      // result: [{ title: 'Открыть сайт', url: 'https://example.com' }]