umbot - v2.0.8
    Preparing search index...

    Class AlisaButton

    AlisaButton Класс для работы с кнопками в навыке Алисы

    Предоставляет функциональность для создания и отображения кнопок в интерфейсе Алисы:

    • Поддержка обычных кнопок и кнопок для карточек
    • Автоматическое ограничение длины текста (до 64 символов) и URL (до 1024 символов)
    • Поддержка payload для передачи данных
    • Возможность скрытия кнопок
    const alisaButton = new AlisaButton();

    // Создание обычных кнопок (возвращает массив IAlisaButton[])
    alisaButton.isCard = false;
    alisaButton.buttons = [
    // Создание кнопки-ссылки (сайджест)
    new Button('Перейти на сайт', 'https://example.com/1'),
    // Создание интерактивной кнопки
    new Button('Нажми меня', '', { action: 'action1' })
    ];
    const buttons = alisaButton.getButtons();
    // buttons: [
    // {
    // title: 'Перейти на сайт',
    // url: 'https://example.com/1',
    // hide: false // сайджест-кнопка
    // },
    // {
    // title: 'Нажми меня',
    // payload: { action: 'action1' },
    // hide: true // интерактивная кнопка
    // }
    // ]

    // Создание кнопки для карточки (возвращает один объект IAlisaButtonCard)
    alisaButton.isCard = true;
    alisaButton.buttons = [
    new Button('Подробнее', 'https://example.com/details', { action: 'details' })
    ];
    const cardButton = alisaButton.getButtons();
    // cardButton: {
    // text: 'Подробнее',
    // url: 'https://example.com/details',
    // payload: { action: 'details' }
    // }

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Methods

    Constructors

    Properties

    isCard: boolean

    Флаг использования кнопок для карточки

    • true: возвращает одну кнопку для карточки (IAlisaButtonCard)
    • false: возвращает массив обычных кнопок (IAlisaButton[])
    false
    
    const alisaButton = new AlisaButton();

    // Режим обычных кнопок (массив)
    alisaButton.isCard = false;
    const buttons = alisaButton.getButtons();
    // buttons: IAlisaButton[]

    // Режим кнопки карточки (один объект)
    alisaButton.isCard = true;
    const cardButton = alisaButton.getButtons();
    // cardButton: IAlisaButtonCard
    buttons: Button[]

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

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

    Methods

    • Получение кнопок в формате Алисы

      Returns null | IAlisaButtonCard | IAlisaButton[]

      • Массив обычных кнопок или одна кнопка для карточки

      Формат возвращаемых данных зависит от значения isCard:

      • isCard = false: возвращает массив обычных кнопок (IAlisaButton[])
      • isCard = true: возвращает одну кнопку для карточки (IAlisaButtonCard)
      const alisaButton = new AlisaButton();

      // Получение обычных кнопок (массив)
      alisaButton.isCard = false;
      alisaButton.buttons = [
      // Создание кнопки-ссылки (сайджест)
      new Button('Перейти на сайт', 'https://example.com/1'),
      // Создание интерактивной кнопки
      new Button('Нажми меня', '', { action: 'action1' })
      ];
      const buttons = alisaButton.getButtons();
      // buttons: [
      // {
      // title: 'Перейти на сайт',
      // url: 'https://example.com/1',
      // hide: false // сайджест-кнопка
      // },
      // {
      // title: 'Нажми меня',
      // payload: { action: 'action1' },
      // hide: true // интерактивная кнопка
      // }
      // ]

      // Получение кнопки для карточки (один объект)
      alisaButton.isCard = true;
      alisaButton.buttons = [
      new Button('Подробнее', 'https://example.com/details', { action: 'details' })
      ];
      const cardButton = alisaButton.getButtons();
      // cardButton: {
      // text: 'Подробнее',
      // url: 'https://example.com/details',
      // payload: { action: 'details' }
      // }