umbot поддерживает middleware в стиле telegraf и vk-io — функции, которые вызываются до запуска бизнес-логики (BotController.action).
// Глобальный middleware (для всех платформ)
import { T_ALISA } from 'umbot/plugins';
bot.use(async (ctx, next) => {
console.log('Запрос:', ctx.appContext.appType);
await next(); // обязательно вызвать next() для продолжения
});
// Для конкретной платформы
bot.use(T_ALISA, async (ctx, next) => {
if (!ctx.appContext.requestObject?.session?.user_id) {
ctx.text = 'Некорректный запрос';
ctx.isEnd = true;
// next() не вызывается → action() не запустится
return;
}
await next();
});