Azure Kik bot正在BotFramework中触发“TooManyRequests”错误

Azure Kik bot正在BotFramework中触发“TooManyRequests”错误,azure,botframework,kik,Azure,Botframework,Kik,我最近在Skype、Slack、Telegrame和其他一些平台上部署了一个使用Azure和BotFramework的机器人 它们似乎都工作得很好,除了在Kik,机器人会突然停止响应。BotFramework中的错误消息如下: {消息:对用户的请求太多:'redacted_user_name',错误:TooManyRequests} Kik测试仪通过正常使用触发了这个错误,不过当我在Android手机上测试它时,它工作得很好 你知道是什么引起的吗 编辑: 联系Kik后,我被告知我的机器人发送的消

我最近在Skype、Slack、Telegrame和其他一些平台上部署了一个使用Azure和BotFramework的机器人

它们似乎都工作得很好,除了在Kik,机器人会突然停止响应。BotFramework中的错误消息如下:

{消息:对用户的请求太多:'redacted_user_name',错误:TooManyRequests}

Kik测试仪通过正常使用触发了这个错误,不过当我在Android手机上测试它时,它工作得很好

你知道是什么引起的吗

编辑:

联系Kik后,我被告知我的机器人发送的消息比接收的消息多,在机器人被禁止之前,他们只允许剩余20条消息

他们说解决方案是实现批处理,BotBuilder说这是内置的。我的bot使用session.sendtext,后跟提示。然而,Kik并没有将我的信息视为一个批次,并且每个对联都算作两条信息

我尝试调整autoBatchDelay以查看0是否比默认值工作得更好,并注意到它并没有产生任何影响。此外,将其更改为2000也没有任何区别,消息之间也不会延迟2000ms


var bot=new builder.UniversalBotconnector,{autoBatchDelay:0} Kik的批处理目前在我们的积压工作中。同时,如果需要,是否有任何原因使您不能在同一条消息中发送文本和提示,并在其间返回回车符?据我所知,这应该能解决你的问题

同样值得注意的是,Kik从遏制性赤字中恢复的规则有些复杂

•在任何给定的发送消息请求中,bot可以在单个POST请求中发送多达25条消息。在这25条消息中,一个bot最多可以有5条消息指向一个用户

•无论您发送1条消息还是5条消息,该请求集合都被视为发送给用户的“一批”消息

•一个机器人每天允许向一个用户提供20个未经请求的批次

•这意味着您每天可以向用户发送20-100条未经请求的消息,具体取决于您在一批中有多少条消息。bot平台如何确定主动请求,就像一天结束时重置的借贷系统一样。e、 朱莉向机器人发送一条消息,余额变为+1。bot在一批中响应3条消息,余额变为0。Julie发送bot 1消息,余额变为+1。bot在单独的批处理中响应5条消息,余额变为-4。朱莉向机器人发送一条消息,余额变为+1。bot在单独的批处理中响应5条消息,余额变为-9


•如果该赤字持续到-20,则每日用户速率限制将达到,并且机器人将无法向该用户发送更多消息。使用此速率限制有不同的方法,例如更有效地使用批处理或构建鼓励更多用户交互的用户体验

谢谢你,拉尔斯。问题是,这意味着第1轮的结束和第2轮的开始必须在同一个对话框中进行,这是令人困惑的,Kik似乎不允许多次回车,因此实际上没有办法从视觉上区分它们。这似乎也意味着我根本不能包含图像,因为将图像或任何IMessage格式传递给choice提示符似乎不起作用。如果使用此格式,则不会出现选择提示,但如果您键入输入,它仍会响应。明白了。我会看看我能做些什么把这件事提升到更高的优先级。太好了。谢谢这对你来说还是个问题吗?@JasonSowers我重写了我的kik机器人,以避免发送多条消息。bot框架是否进行了更新以促进kik上的批处理?我唯一能找到答案的方法就是试着看看我是否被禁,这并不理想。