有没有办法清除使用 DirectlineJS 而不是 React 的 Webchat 中的聊天记录

问题描述

根据以下 github 问题链接chatbot 和 BotFramework。 https://github.com/microsoft/BotFramework-WebChat/issues/1846

我们可以通过分配一个新实例来存储变量来清除聊天记录,这会触发 DIRECT_LINE/disCONNECT 操作。现在这适用于 React Webchat。但是,我在网络聊天 Java 脚本版本中尝试过,问题似乎仍然存在,即当 store 变量被替换时,之前的聊天不会被删除

来自社区的任何确认都将得到缓解,因为 Botframework github 中有许多令人困惑的未解决问题。我分享一些我发现的。

https://github.com/microsoft/BotFramework-WebChat/issues/1293 https://github.com/Microsoft/BotFramework-DirectLineJS/issues/124

如果否,是否可以通过其他方式实现?任何建议都会有所帮助。

解决方法

我能够解决它。因此,仅替换变量是行不通的。您需要在 webchat.js 代码中渲染 store 变量以更新/替换它。

await window.WebChat.renderWebChat(
    {
        store: widgetStore
    },document.getElementById('webchat')
);
,

BotFramework-WebChat 存储库提供了一个示例,可以精确演示如何执行此操作。样本是04.api/h.clear-after-idle。自述文件还包含一些需要注意的注意事项。