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

middleware

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

Bot::middleware

Метод принадлежит классу Bot и никак не связан с одноименным методом класса Action.

Параметры

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

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

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

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

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);

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

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

$bot->run();

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