kbd
Метод kbd
прикрепляет к сообщению стандартную (reply) клавиатуру. Эти кнопки заменяют обычную клавиатуру для ввода текста у пользователя.
Параметры
# | Название | Тип | Описание |
---|---|---|---|
1 | buttons | array | Двумерный массив, описывающий расположение кнопок по рядам. |
2 | one_time | bool | Скрыть клавиатуру после нажатия на кнопку? true |false |
3 | resize | bool | Адаптировать размер кнопок под текст? 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();