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

redirect

Метод redirect позволяет сделать так, чтобы при нажатии на одну кнопку выполнялось действие, определенное для другой кнопки или маршрута. Это очень удобно для создания сложных меню и навигации, например, для кнопок "Назад" или для вызова общего действия из разных мест.

Параметры

#НазваниеТипОписание
1idstringУникальный 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();

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