当我输入“reset”命令时,我想重新开始对话并清除之前的所有对话,请问怎么做?我坚持了2天。 提前致谢。
这里是我的源代码。
bot.dialog('/reset', (session) => {
session.endDialog();
var msg = new builder.Message(session)
.addAttachment(welcomecard_1.welcomeCard());
session.send(msg);
})
.triggerAction({
matches: /^reset$/i
});
我输入“reset”或“/reset”后 先前的对话 [红色] 将从对话框中删除,并且该 channel 正在使用直线。
更新: 我试过这段代码,但不行。
bot.use(builder.Middleware.dialogVersion({ version: 1.0, resetCommand: /^reset/i }));
最佳答案
您可以使用 session.clearDialogStack()
或 session.endConversation()
或 session.reset()
清除对话框堆栈。以下是它们之间的区别:
session.clearDialogStack()
- 什么都不做
session.endConversation()
- 选择性地向用户发送消息
- 清除
conversationData
和privateConversationData
- 向 channel 发送
endOfConversation
事件
session.reset()
- 开始一个新的对话
关于javascript - 清除现有对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56121674/