redirect
Метод redirect
позволяет сделать так, чтобы при нажатии на одну кнопку выполнялось действие, определенное для другой кнопки или маршрута. Это очень удобно для создания сложных меню и навигации, например, для кнопок "Назад" или для вызова общего действия из разных мест.
Параметры
# | Название | Тип | Описание |
---|---|---|---|
1 | id | string | Уникальный id маршрута, на который нужно перенаправить (btn , onCommand , и т.д.). |
Возвращает
Action
— экземпляр класса Action
(Вспомогательный класс), на который можно навешивать дальнейшие действия (text
, func
и т.д.).
Пример использования
Создадим простое двухуровневое меню с кнопкой "Назад".
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', 'contacts']]);
// 2. Действие, которое будет содержать кнопку "Назад".
$bot->btn('catalog', '🛍️ Каталог товаров')
->text('Наш каталог: Товар 1, Товар 2...')
->inlineKbd([
['back_to_main'] // Кнопка "Назад"
]);
$bot->btn('contacts', '📞 Контакты')->text('Наш телефон: ...');
// 3. Создаем кнопку "Назад" и настраиваем редирект на 'main_menu'.
$bot->btn('back_to_main', '⬅️ Назад')
->redirect('main_menu');
// 4. По команде /start сразу перенаправляем на главное меню.
$bot->onBotCommand('start', '/start')->redirect('main_menu');
$bot->run();