我最近使用 Azure 和 BotFramework 在 Skype、Slack、Telegram 和其他一些平台上部署了一个机器人。
它们似乎都运行良好,除了在 Kik 中,机器人会突然停止响应。BotFramework 中的错误消息如下:
{"message":"对用户的请求太多:'redacted_user_name'","error":"TooManyRequests"}
Kik 测试仪通过常规使用触发了这个错误,但当我在我的(Android)手机上测试它时,它工作得很好。
知道可能是什么原因造成的吗?
编辑:
联系 Kik 后,我被告知我的 Bot 发送的消息多于接收的消息,并且在 bot 被禁止之前,他们只允许剩余 20 条消息。
他们说解决方案是实现批处理,BotBuilder 说它是内置的。(我的机器人使用 session.send("text") 后跟一个提示。)但是,Kik 不会将我的消息视为一个批处理,每个对联都是计为 2 条消息。
我尝试调整 autoBatchDelay 以查看 0 是否会比默认值更好,并注意到它没有任何区别。此外,将其更改为 2000 也没有任何区别,并且消息之间没有延迟 2000 毫秒。
var bot = new builder.UniversalBot(connector, {autoBatchDelay: 0});
我的机器人可能没有正确批处理吗?我可以采取哪些措施来解决这个问题?