使用 NodeJS 重置Microsoft BotFramework 中的会话



我正在做一个简单的项目,我的主要要求是使用Microsoft BotFramework 的 WebChat 创建自定义内联应用程序。我想在标题上添加一个按钮,该按钮将是一个重置按钮,它将重新启动会话并删除所有消息,但将保持相同的对话 ID。我没有找到任何关于如何通过单击按钮向机器人发送消息的有用文档。另外,如何通知机器人需要擦除哪个对话的会话。

这是我正在使用的示例代码,

<!DOCTYPE html>
<html>
<head>
<link href="stylesheets/botchat.css" rel="stylesheet" />
</head>
<body>
<div id="bot"/>
<script src="javascripts/botchat.js"></script>
<script>
BotChat.App({
directLine: { secret: '' },
user: { id: 'you' },
bot: { id: 'agent' },
sendTyping: true,
resize: 'detect'
}, document.getElementById("bot"));
</script>
</body>
</html>

我还检查了我们是否有一个名为deleteUserData事件的东西,但我不确定如何在我的场景中使用它。

您可以通过反向通道执行此操作。简而言之,将发生的情况是托管网络聊天的网页将连接到您的网络聊天正在使用的同一 DirectLine 实例,这将允许页面与机器人通信。然后,可以为重置事件设置处理程序,该处理程序将调用相应的代码来处理状态重置。

您可以在此处了解如何设置反向通道: https://github.com/MissionMarsFourthHorizon/operation-max/tree/master/Node/exercise8-BackChannel

尝试session.clearDialogStack();delete session.userData;

最新更新