Botframework 如何使Bot框架渠道接收已更改的Bot

Botframework 如何使Bot框架渠道接收已更改的Bot,botframework,channel,Botframework,Channel,我已经使用Microsoft bot框架开发了一个小型bot。我已经将它作为一项应用服务部署到Azure,并将许多频道连接到它。DirectLine、Skype、Facebook和电报。一切如期进行。然后,我将代码更新到一个新的截然不同的对话框,并从VisualStudio重新发布到Azure。现在我看到了奇怪的行为。我的DirectLine频道、嵌入式WebChat和仿真器接收了新的机器人。我的Facebook频道、Skype频道和电报频道仍在使用旧的机器人。有什么线索可能导致这种情况吗?Mi

我已经使用Microsoft bot框架开发了一个小型bot。我已经将它作为一项应用服务部署到Azure,并将许多频道连接到它。DirectLine、Skype、Facebook和电报。一切如期进行。然后,我将代码更新到一个新的截然不同的对话框,并从VisualStudio重新发布到Azure。现在我看到了奇怪的行为。我的DirectLine频道、嵌入式WebChat和仿真器接收了新的机器人。我的Facebook频道、Skype频道和电报频道仍在使用旧的机器人。有什么线索可能导致这种情况吗?Microsoft是否正在托管我的机器人的副本?我重新启动了所有程序,甚至删除并重新创建了应用程序服务,但都没有用


蒂洛

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

如果要在开发bot期间手动重置对话的对话框堆栈和状态,可以使用
/deleteprofile
命令删除状态数据。确保在该命令中包含前导空格,以防止通道对其进行解释

将bot部署到生产环境后,可以对bot数据进行版本设置,以便在升级版本时清除关联的状态数据。使用Bot Builder SDK for Node.js,这可以使用中间件来实现;使用Bot Builder SDK for.NET,这可以使用
IPostToBot
实现来实现


有关文档的更多详细信息

我不确定您所描述的内容是否是我的问题。我的两个机器人有完全不同的代码和对话框。所以我想我真的看到不同的代码在指向同一个机器人的通道上执行。这个问题同时消失了。谢谢你的秘密命令,我学到了一些东西