清除现有对话框

时间:2019-05-14 01:00:01

标签: 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
});

输入“重置”或“ /重置”后 先前的对话(红色)将从对话框中删除,并且该频道使用的是直线。 enter image description here

更新: 我已经尝试过此代码,但是没有用。

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

1 个答案:

答案 0 :(得分:1)

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

session.clearDialogStack()

  • 什么也没做

session.endConversation()

  • (可选)向用户发送消息
  • 清除conversationDataprivateConversationData
  • 向频道发送endOfConversation事件

session.reset()

  • 开始一个新对话框