Перейти к содержимому

kbd

Метод kbd прикрепляет к сообщению стандартную (reply) клавиатуру. Эти кнопки заменяют обычную клавиатуру для ввода текста у пользователя.

Параметры

#НазваниеТипОписание
1buttonsarrayДвумерный массив, описывающий расположение кнопок по рядам.
2one_timeboolСкрыть клавиатуру после нажатия на кнопку? true|false
3resizeboolАдаптировать размер кнопок под текст? true|false

Возвращает

Action — экземпляр класса Action (Вспомогательный класс), на который можно навешивать дальнейшие действия (text, func и т.д.).

Формат массива buttons

Массив кнопок представляет собой "массив рядов", где каждый "ряд" — это массив кнопок в этом ряду. Каждая кнопка может быть:

  • string: ID кнопки, предварительно определенной через метод btn().
  • array: Массив, описывающий кнопку "на лету" (например, для URL-кнопок).

Пример использования

php
<?php
require_once __DIR__ . 'vendor/autoload.php';
use ZhenyaGR\TGZ\TGZ;
use ZhenyaGR\TGZ\Bot;

$tg = TGZ::create('ТОКЕН');
$bot = new Bot($tg);

// 1. Определяем кнопки и их текстовые представления
$bot->btn('get_weather', 'Узнать погоду');
$bot->btn('get_news', 'Последние новости');
$bot->btn();

// 2. Обрабатываем нажатия на эти кнопки как обычный текст
$bot->onText('weather_action', 'Узнать погоду')
    ->text('Сегодня солнечно, +25°C.');

$bot->onText('news_action', 'Последние новости')
    ->text('Новость дня: TGZ - отличная библиотека!');

$bot->onText('hide_action', 'Скрыть клавиатуру')
    ->text('Клавиатура скрыта.')
    ->removeKbd(); // Используем removeKbd() для скрытия

// 3. По команде /start показываем клавиатуру
$bot->onBotCommand('start', '/start')
    ->text('Привет! Воспользуйся клавиатурой для навигации.')
    ->kbd(
        [
            ['get_weather', 'get_news'], // Первый ряд
            [$tg->buttonText('Скрыть клавиатуру')]            // Второй ряд
        ],
        resize: true,      // Кнопки будут оптимального размера
        one_time: false    // Клавиатура останется после нажатия
    );

$bot->run();

Опубликовано под лицензией MIT.