我有一个Bot在botbuilder V3上运行,我在其中使用解释为here的中间件来拦截消息。
bot.use({
botbuilder: function (session, next) {
myMiddleware.logIncomingMessage(session, next);
},
send: function (event, next) {
myMiddleware.logOutgoingMessage(event, next);
}
})
我们计划在sdk v4上进行迁移,以便在sdk v4中寻找类似的功能。有吗?
我在此page.上找不到示例
答案 0 :(得分:1)
BotAdapter
基类公开了use
方法来注册中间件。因此,在您的启动逻辑中,您将创建BotAdapter
(通常为BotFrameworkAdapter
)的特定实现,然后向其中添加中间件。像这样:
const botAdapter = new BotFrameworkAdapter( { /* credential stuff here*/ });
// Simple handler based
botAdapter.use(async (turnContext, next) => {
// pre logic
await next();
// post logic
});
// Or class based
botAdapter.use(new MyMiddleware());