记录器被实现为中间件。需要通过另一个对话框访问记录器的输出。
答案 0 :(得分:0)
查看Botbuilder-Samples回购,即17.multilingual-conversation sample。它演示了如何根据当前上下文和输入来接收和发送活动,从而与对话框进行交互。
首先,将中间件分配给index.js文件中的适配器:
const { LoggerMiddleware } = require('./logger-middleware');
adapter.use(new LoggerMiddleware (parameter_1, parameter_2));
就像translator-middleware.js文件一样,您将希望通过中间件文件的构造函数传递任何必要的参数:
constructor(parameter_1, parameter_2) {
this.parameter_1 = parameter_1;
this.parameter_2 = parameter_2;
}
之后,创建onTurn方法(以及任何相关方法),传入上下文并利用所需的类构造函数参数。在这里,您可以创建新对话框,以利用传入的登录数据。
async onTurn(turnContext, next) {
let loggerText = this.parameter_1;
[...do stuff with <loggerText> data...]
await next();
}
从许多方面来说,中间件的外观和功能都类似于您的主要bot.js文件。只是在过程中的另一个位置简单地调用它。
希望得到帮助。