Microsoft Bot Builder(聊天机器人)错误

时间:2018-01-15 08:20:13

标签: node.js api bots chatbot

不推荐使用Bot State API。有关如何更换自己的存储空间的详细信息,请参阅https://aka.ms/I6swrh。任何人都知道问题是什么以及如何配置?是本地存储问题吗?image screenshot

2 个答案:

答案 0 :(得分:1)

在之前版本的botbuilder中,微软为机器人提供了一个状态api。状态api按照您的预期管理机器人的状态;用户数据,会话数据,对话数据等。

他们已经弃用了这个API,并提供了一种方法,您可以实现自己的存储适配器,或者实际上是我们可用的包。

botbuilder模块提供内存存储,在机器人运行时显然很好,但如果你想要在多台机器上对机器人进行负载均衡,如果机器人崩溃并且不适合将会丢失。

我倾向于使用内存存储进行本地开发,并在生产中使用不同的适配器将其切换出来。

const bot = new builder.UniversalBot(connector, [..waterfall steps..])
   .set('storage', new builder.MemoryBotStorage())

但是,还有其他可用的存储适配器

Microsoft程序包botbuilder-azure提供表存储,CosmosDB存储和SQL存储。

我倾向于将以下包botbuilder-storage与DynamoDB适配器一起使用。它还提供Redis和MongoDB适配器。

国家管理也在这里很好地记录了

https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-state

答案 1 :(得分:0)

需要通过手动设置内存存储来解决此问题:

var bot = new builder.UniversalBot(connector, {
    storage: new builder.MemoryBotStorage()
});

参考: https://github.com/Microsoft/BotBuilder/issues/3785