我正在使用触发操作和结束对话来结束我的聊天..但它会关闭聊天的当前对话框... 我希望结束聊天记录或数据....
我正在尝试此代码..
bot.dialog('/end', function (session) {
session.endConversation("End Conversation");
}).triggerAction({ matches: /^(exit)|(quit)/i });
答案 0 :(得分:4)
您可以尝试使用
session.clearDialogStack()
或
session.reset();
session.endDialog();
在这里,您可以找到有关reset的信息,此处有关于clearDialogStack的信息。
答案 1 :(得分:1)
您可以使用这个简单的中间件来清除userData / conversationData包:
export interface IResetDataSettings {
resetCommand: RegExp;
}
export class ResetMiddleware {
public static data(settings: IResetDataSettings): IMiddlewareMap {
return {
botbuilder: (session, next) => {
if (settings.resetCommand && session.message.text && settings.resetCommand.test(session.message.text)) {
session.userData = {};
session.conversationData = {};
session.privateConversationData = {};
session.endConversation("Your conversation state was reset.");
} else {
next();
}
}
};
}
}
然后像这样设置:
this.bot.use(ResetMiddleware.data({ resetCommand: /^reset data$/i }));
答案 2 :(得分:0)
您可以使用命令“/ deleteprofile”删除 User / PrivateConversation bot数据包状态并重置您的机器人。注意, 一些通道本身解释斜杠命令,所以它可能是 必须发送前面有空格的命令(“ / deleteprofile”)
从这里开始:https://docs.botframework.com/en-us/technical-faq#my-bot-is-stuck--how-can-i-reset-the-conversation