当我输入“重置”命令时,我希望对话重新开始并清除所有先前的对话框,请问该怎么做?我坚持了两天。 谢谢。
这里有我的源代码。
bot.dialog('/reset', (session) => {
session.endDialog();
var msg = new builder.Message(session)
.addAttachment(welcomecard_1.welcomeCard());
session.send(msg);
})
.triggerAction({
matches: /^reset$/i
});
输入“重置”或“ /重置”后 先前的对话(红色)将从对话框中删除,并且该频道使用的是直线。
更新: 我已经尝试过此代码,但是没有用。
bot.use(builder.Middleware.dialogVersion({ version: 1.0, resetCommand: /^reset/i }));
答案 0 :(得分:1)
您可以使用session.clearDialogStack()
或session.endConversation()
或session.reset()
清除对话框堆栈。这是它们之间的区别:
session.clearDialogStack()
session.endConversation()
conversationData
和privateConversationData
endOfConversation
事件session.reset()