用户发送 Hi there !
(存于 message.text
)的聊天机器人用户界面;然而, ConversationPlugin's ingest
中间件变异 message.text
价值 Hello
. 我的问题是:为什么这个值没有保留到 receive
中间件运行?(参见下面的日志)这种行为对我的应用来说是至关重要的。我需要确保botkit的信息能一直记住我的突变(在整个回合中)。
[2020-05-16T11:23:47.130] [DEBUG] - [ConversationPlugin.ingest()] before triggering the event 'userMessage' => message.text ==> Hi there !
[2020-05-16T11:23:47.132] [DEBUG] - [ConversationPlugin.ingest()] after triggering the event 'userMessage' => message.text ==> Hello
[2020-05-16T11:23:47.142] [DEBUG] - [ConversationPlugin.receive()] message.text => Hi there !
[2020-05-16T11:23:47.143] [DEBUG] - [ConversationPlugin.receive()] The message text is => Hi there !
您能帮我解决这个问题吗?
在没有看到你的代码之前,很难说你的代码内部发生了什么。
这段代码的工作原理和预期的一样--摄取中间件改变了文本,而这种改变在接收中间件中是可用的。
module.exports = function(controller) {
controller.middleware.ingest.use((bot, message, next) => {
console.log('INGEST', message.text);
message.text = 'INGESTING ' + message.text;
next();
});
controller.middleware.receive.use((bot, message, next) => {
console.log('RECEIVED', message.text);
next();
});
}```