umbot
    Preparing search index...

    IButtonOptions Интерфейс для дополнительных опций кнопки.

    Позволяет настраивать внешний вид и поведение кнопки на различных платформах. Поддерживает как общие опции, так и специфичные для конкретных платформ.

    // Специфичные опции для VK
    const vkOptions: IButtonOptions = {
    _group: 1, // группировка кнопок в одну строку
    color: 'primary'
    };

    // Специфичные опции для Telegram
    const telegramOptions: IButtonOptions = {
    _group: 'tg_buttons',
    request_contact: true
    };
    interface IButtonOptions {
        _group?: string | number;
        inline?: boolean;
        style?: string;
        utmCampaign?: string;
        utmMedium?: string;
        utmSource?: string;
        [name: string]: unknown;
    }

    Indexable

    • [name: string]: unknown

      Дополнительные опции для кнопки. Могут включать специфичные для платформы настройки.

      // Настройка кнопки для Telegram
      const options: IButtonOptions = {
      request_contact: true,
      request_location: false
      };
    Index

    Properties

    _group?: string | number

    Идентификатор группы (ряда) для кнопки. Кнопки с одинаковой группой чат-платформы (Telegram, VK, MAX, Viber) выводят в одну строку — на месте первой кнопки группы. Обычно группу проще не задавать вручную, а вызывать buttons.row(): он назначает группы рядам сам.

    // Группировка кнопок навигации
    const options: IButtonOptions = {
    _group: 'nav_buttons'
    };

    // Группировка кнопок действий
    const options: IButtonOptions = {
    _group: 'action_buttons'
    };
    inline?: boolean

    Telegram: показать кнопку без payload/url inline-кнопкой (под сообщением), а не в обычной клавиатуре. Нажатие приходит боту как текст кнопки — так же, как если бы пользователь напечатал его сам. Кнопки запроса контакта/локации остаются обычными.

    Если в сообщении есть хотя бы одна inline-кнопка (url, payload или эта опция), остальные текстовые кнопки тоже показываются inline: Telegram не совмещает два типа клавиатуры в одном сообщении.

    style?: string

    Стиль визуального отображения кнопки.

    Для Telegram адаптер подставляет поле style в кнопку из options.style (Telegram Bot API 9.4+: 'primary' | 'success' | 'danger' — константы TG_STYLE_* из umbot/plugins).

    Для VK цвет кнопки задаётся через options.color ('primary' | 'secondary' | 'negative' | 'positive'); вариант через payload.color поддерживается для обратной совместимости.

    utmCampaign?: string

    Название рекламной кампании

    utmMedium?: string

    Тип рекламного канала

    utmSource?: string

    Источник перехода