umbot - v2.0.8
    Preparing search index...

    Class TelegramButton

    TelegramButton Класс для работы с кнопками в Telegram

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

    • Поддержка inline-кнопок в сообщениях
    • Поддержка reply-кнопок вместо клавиатуры
    • Автоматическое определение типа кнопок
    • Возможность удаления клавиатуры
    const telegramButton = new TelegramButton();

    // Создание inline-кнопок
    telegramButton.buttons = [
    new Button('Открыть сайт', 'https://example.com'),
    new Button('Действие', null, { action: 'custom_action' })
    ];
    const inlineResult = telegramButton.getButtons();
    // inlineResult: {
    // inline_keyboard: [
    // [{ text: 'Открыть сайт', url: 'https://example.com' }],
    // [{ text: 'Действие', callback_data: { action: 'custom_action' } }]
    // ]
    // }

    // Создание reply-кнопок
    telegramButton.buttons = [
    new Button('Кнопка 1'),
    new Button('Кнопка 2')
    ];
    const replyResult = telegramButton.getButtons();
    // replyResult: {
    // keyboard: ['Кнопка 1', 'Кнопка 2']
    // }

    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

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

      Returns ITelegramKeyboard

      • Объект с кнопками в формате Telegram:
      • inline_keyboard: для кнопок в сообщении
      • keyboard: для reply-кнопок
      • remove_keyboard: для удаления клавиатуры

      Правила формирования кнопок:

      • Если у кнопки есть URL, она становится inline-кнопкой
      • Если у кнопки есть payload, она становится inline-кнопкой с callback_data
      • Если у кнопки нет URL и payload, она становится reply-кнопкой
      • Если нет кнопок, возвращается объект с remove_keyboard: true
      const telegramButton = new TelegramButton();

      // Смешанные кнопки
      telegramButton.buttons = [
      new Button('Сайт', 'https://example.com'),
      new Button('Действие', null, { action: 'test' }),
      new Button('Простая кнопка')
      ];

      const result = telegramButton.getButtons();
      // result: {
      // inline_keyboard: [
      // [{ text: 'Сайт', url: 'https://example.com' }],
      // [{ text: 'Действие', callback_data: { action: 'test' } }]
      // ],
      // keyboard: ['Простая кнопка']
      // }