btn
Метод btn
определяет многоразовую кнопку и её действие. Это основной способ создания как inline-кнопок, так и кнопок стандартной клавиатуры. Каждая кнопка имеет уникальный ID, который используется для её вызова в клавиатурах и для обработки её нажатия.
Параметры
# | Название | Тип | Описание |
---|---|---|---|
1 | id | string | Уникальный идентификатор кнопки. |
2 | text | string | Текст, отображаемый на кнопке. Если не указан, используется id . |
Возвращает
Action
— экземпляр класса Action
(Вспомогательный класс), на который можно навешивать дальнейшие действия (text
, func
и т.д.).
Пример использования
Создание сложного меню с помощью btn
.
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('main_menu', '🏠 Главное меню')
->text('Вы в главном меню. Выберите, что вас интересует:')
->inlineKbd([
['catalog', 'about_us'], // Используем ID других кнопок
['help']
]);
// Кнопки для пунктов меню
$bot->btn('catalog', '🛍️ Каталог')
->text('Наши товары: ...')
->inlineKbd([['back_to_menu']]); // Добавляем кнопку "Назад"
$bot->btn('about_us', 'ℹ️ О нас')
->text('Мы - лучшая компания в мире!')
->inlineKbd([['back_to_menu']]);
$bot->btn('help', '❓ Помощь')
->text('Если у вас есть вопросы, напишите @support');
// Кнопка "Назад", которая перенаправляет на действие 'main_menu'
$bot->btn('back_to_menu', '⬅️ Назад')
->redirect('main_menu'); // Перенаправление на другую кнопку
// 2. Запускаем бота с главного меню по команде /start
$bot->onBotCommand('start', '/start')
->redirect('main_menu'); // Сразу перенаправляем на главное меню
// 3. Запускаем обработку входящих обновлений
$bot->run();