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

middleware

Метод middleware регистрирует единый обработчик, который будет выполняться перед тем, как библиотека начнет искать подходящий маршрут (onCommand, onText и т.д.). Это основная точка входа для реализации сквозной логики, такой как аутентификация, логирование, предварительная обработка данных или проверка прав доступа.

Параметры

#НазваниеТипОписание
1handlercallableАнонимная функция-обработчик

Аргументы обработчика

  • TGZ $tg - экземпляр класса TGZ.
  • callable $next - ссылка на следующий обработчик в цепочке.

Пример использования

php
<?php
require_once __DIR__ . 'vendor/autoload.php';
use ZhenyaGR\TGZ\TGZ;
use ZhenyaGR\TGZ\Bot;

$tg = TGZ::create('ТОКЕН');
$bot = new Bot($tg);

$bot->middleware(function(TGZ, callable $next) {
    $user_id = $tg->getUserID();
    if ($user_id === 123456) {
        $next();        
    } else {
        $tg->reply("Доступ запрещен.");
    }
    // Код начнёт искать маршруты, если у пользователя ID 123456, иначе - нет
});

$bot->onBotCommand('main_menu', '/menu')
    ->text('Вы находитесь в главном меню.');

$bot->run();

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