middleware
Метод middleware
регистрирует единый обработчик, который будет выполняться перед тем, как библиотека начнет искать подходящий маршрут (onCommand, onText и т.д.). Это основная точка входа для реализации сквозной логики, такой как аутентификация, логирование, предварительная обработка данных или проверка прав доступа.
Параметры
# | Название | Тип | Описание |
---|---|---|---|
1 | handler | callable | Анонимная функция-обработчик |
Аргументы обработчика
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();