【问题标题】:How to make Bot Framework channels pick up changed Bot如何让 Bot Framework 频道拾取更改的 Bot
【发布时间】:2020-09-19 06:24:13
【问题描述】:

我使用 Microsoft Bot Framework 开发了一个小型机器人。我已将它作为应用服务部署到 Azure,并为它连接了许多渠道。 DirectLine、Skype、Facebook 和 Telegram。一切都按预期工作。然后,我将我的代码更新为一个新的截然不同的对话框,并从 Visual Studio 重新发布到 Azure。现在我看到了奇怪的行为。我的 DirectLine 频道、我的嵌入式 WebChat 和模拟器选择了新机器人。我的 Facebook 频道、Skype 频道和 Telegram 频道仍在播放旧机器人。任何提示可能是什么原因造成的? Microsoft 是否托管我的机器人的副本?我重新启动了一切,甚至删除并重新创建了应用服务,但无济于事。

提洛

【问题讨论】:

    标签: botframework channel


    【解决方案1】:

    您可能已经在您仍然拥有旧版本的频道上开始对话。即使在代码修改后,BotState 也会保留。

    如果您想在机器人开发过程中手动重置对话的对话框堆栈和状态,可以使用/deleteprofile 命令删除状态数据。确保在此命令中包含前导空格,以防止通道解释它。

    在您的机器人部署到生产环境后,您可以对您的机器人数据进行版本控制,这样,如果您升级版本,相关的状态数据就会被清除。对于 Node.js 的 Bot Builder SDK,这可以使用中间件来完成,而对于 .NET 的 Bot Builder SDK,这可以使用IPostToBot 实现来完成。

    有关文档here的更多详细信息

    【讨论】:

    • 我不确定您所描述的是否是我的问题。我的两个机器人有完全不同的代码和对话。因此,我认为我确实看到在指向同一个机器人的通道上执行不同的代码。这个问题在此期间消失了。感谢您的秘密命令,我学到了一些东西?
    猜你喜欢
    • 2017-11-13
    • 2020-03-12
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 2019-03-26
    • 1970-01-01
    相关资源
    最近更新 更多