对不起,我的机器人代码有问题......但事实并非如此

时间:2017-12-04 16:54:42

标签: c# botframework chatbot luis

我开发了一个带有Microsoft Bot Framework的机器人(Builder v3.12.2.4,这是目前的最新版本)。我实际上将所有库更新到最新版本,同时使用AdaptiveCards,最新的beta10。

所以,我构建了机器人,部署它,一切都很好。但突然之间,所有平台都给出了回复,对不起,我的机器人代码出现了问题'。因此,在每个输入处,都会给出反馈(如hello,a card,...),但也会给出此消息。

我检查了双上下文.Wait()调用,但没有。 我启用了信息日志并放置了各种日志记录,给出了以下结果(这里没有错误,因为我的catch语句会记录一行)

2017-12-04T16:45:40  PID[4812] Information Sentiment recognition ON: True
2017-12-04T16:45:41  PID[4812] Information Forwarded message to Luis Dialog: Hallo
2017-12-04T16:45:41  PID[4812] Information Detect Chat intent in Luis Dialog

我看到了什么,但之前已经是这样了:

2017-12-04T16:45:46  PID[4812] Warning     The Bot State API is being deprecated.  
Please refer to https://aka.ms/yr235k for details on how to replace with your own storage.

然而,这似乎是机器人框架内部的东西...... Bot服务说“我很好,没有发现任何问题'所以我的想法已经不多了。

任何人遇到这个并且有线索。顺便说一句:我已经为1个平台(电报)设置了自适应卡,并在另一个平台(Skype,网络聊天)上使用了内置的herocard,并且所有人都给出了这种行为

其他信息。我忘了在API控制器方法本身中添加1个异常日志记录。 这个说:     操作返回了无效的状态代码'冲突' 但是,我不知道这意味着什么。通过https://docs.microsoft.com/en-us/rest/api/storageservices/common-rest-api-error-codes找到的默认REST API解释似乎没有意义

1 个答案:

答案 0 :(得分:3)

错误消息:

  

Bot State API已被弃用

意味着您的聊天机器人需要使用您自己的存储来管理状态。邮件中的网址会转到Manage custom state data with Azure Cosmos DB for .NET页面,这解释了原因。

去年7月,Bot Framework团队在博客中写道:Saving State data with BotBuilder-Azure in .NET。如果您之后阅读了其他几篇博文,您将学习如何使用其他数据存储(如SQL Server)进行状态管理。

实际上,您希望使用自己的状态管理,因为它们提供的存储量非常小,性能提高,延迟减少,并且可以更好地控制状态。

设置状态应该是所有聊天机器人的正常任务。