Клавиатура (KeyboardBuilder.php)

Перед использованием Сборщика клавиатуры, требуется создать переменную и вписать класс KeyboardBuilder

$bot = new Bot....

$bot->start(...... {
  // подключаем
  $kb = $bot->kBuilder();
});

Создание клавиатуры

  • @param arrayМассив с кнопками

  • @param booleanСкрытие клавиатуры (Default: false)

  • @param booleanКлавиатура внутри сообщения (Default: false)

$kb->create(array $keyboard = [], bool $one_time = false, bool $inline = false);

Очистка клавиатуры

$kb->remove();

Далее, нужно отправить клавиатуру через $kb->get()

Получение клавиатуры

Для отправки, нужно добавить при отправке сообщения параметр keyboard

$msg->reply("отправка клавиатуры", [
  'keyboard' => $kb->get()
]);

Добавление обычной кнопки

  • @param stringТекст кнопки

  • @param stringЦвет кнопки

    • whiteБелый

    • blueСиний

    • redКрасный

    • greenЗелёный

  • @param stringДополнительная информация (Payload)

button(string $text, string $color = 'default', string $payload = '');

Добавление кнопки с ссылкой

  • @param stringТекст кнопки

  • @param stringСсылка

$kb->link(string $text, string $link);

Добавление кнопки с геолокацией

$kb->location ();

Добавление кнопки оплаты через vkpay

  • @param stringпараметры платежа VK Pay и идентификатор приложения

$kb->vkpay(string $hash);

Добавление кнопки с открытием приложения vkapps

  • @param stringТекст кнопки

  • @param integerАйди вызываемого приложения с типом VK Apps.

  • @param integerАйди сообщества, в котором установлено приложение, если требуется открыть в контексте сообщества

  • @param stringХэш для навигации в приложении, будет передан в строке параметров запуска после символа #

$kb->vkapps(string $text, int $app_id, int $owner_id, string $hash = '');

Пример добавления клавиатуры

require_once 'vkbot/autoload.php';

$bot = new Bot();
$bot->setToken('токен');

$bot->start(function($data)use($bot){

  $msg = $bot->getMessage();
  $kb = $bot->kBuilder(); // Подключаем билдера кнопок
  if ($msg->get("кнопки")) {
    $kb->create(
      [
        [ // <-- Начало первой строки
          $kb->button('красная кнопка', 'red'),
          $kb->button('зеленая кнопка', 'green'),
          $kb->button('синяя кнопка', 'blue')
        ], // <-- Конец первой строки 
        [ // <-- Начало второй строки
          $kb->link('кнопка с ссылкой', 'http://example.com'),
          $kb->location()
        ] // <-- Конец второй строки 
      ],
      // one_time (По стандарту false),
      // inline (По стандарту false)
    );
    /** 
    * Должно вывести клавиатуру в таком виде:
    *        [--] [--] [--]
    *          [--] [--]
    */
    $msg->reply('Отправляю клавиатуру:', [
      'keyboard' => $kb->get()
    ]);
  }

});

Last updated