清除现有对话框

Eng*_*eah 9 javascript node.js botframework

当我输入“重置”命令时,我希望对话再次重新启动并清除所有先前的对话框,请问该怎么做?我坚持了两天。在先进的感谢。

这里有我的源代码。

bot.dialog('/reset', (session) => {
    session.endDialog();

    var msg = new builder.Message(session)
        .addAttachment(welcomecard_1.welcomeCard());

    session.send(msg);
})
.triggerAction({
    matches: /^reset$/i
});
Run Code Online (Sandbox Code Playgroud)

输入“重置”或“ /重置”后,先前的对话(红色)将从对话框中删除,并且此通道使用直线。 在此处输入图片说明

更新: 我尝试过此代码,但不起作用。

bot.use(builder.Middleware.dialogVersion({ version: 1.0, resetCommand: /^reset/i }));
Run Code Online (Sandbox Code Playgroud)

Kyl*_*ney 1

session.clearDialogStack()您可以使用或session.endConversation()或清除对话框堆栈session.reset()。以下是它们之间的区别:

session.clearDialogStack()

  • 不做任何额外的事情

session.endConversation()

  • 可选择向用户发送消息
  • 清除conversationDataprivateConversationData
  • endOfConversation向通道发送事件

session.reset()

  • 开始一个新对话框