btn
Метод определяет многоразовую кнопку и её действие. Это основной способ создания как inline-кнопок, так и кнопок стандартной клавиатуры. Каждая кнопка имеет уникальный ID, который используется для её вызова в клавиатурах и для обработки её нажатия.
Параметры
| # | Название | Тип | Описание |
|---|---|---|---|
| 1 | id | string | Уникальный идентификатор кнопки. |
| 2 | text | string | Текст, отображаемый на кнопке. Если не указан, используется id. |
Возвращает
Action — экземпляр класса Action (Вспомогательный класс), на который можно навешивать дальнейшие действия (text, func и т.д.).
Пример использования
Создание сложного меню с помощью btn.
php
<?php
require_once __DIR__ . '/vendor/autoload.php';
use ZenithGram\ZenithGram\ZG;
use ZenithGram\ZenithGram\Bot;
$tg = ZG::create(BOT_TOKEN);
$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();