2017-01-20 7 views
0

最近Skype、Slack、TelegramなどのプラットフォームにAzureとBotFrameworkを使用してボットを導入しました。KikボットがBotFrameworkの "TooManyRequests"エラーを引き起こしています

ボットが突然応答を停止するKikを除いて、すべてうまく動作しているようです。 BotFrameworkのエラーメッセージを読み取り:

{ "メッセージ": "ユーザのためにあまりにも多くの要求: 'redacted_user_name'"、 "エラー": "TooManyRequests"}

KIKテスタはこれをトリガされます私が(Androidの)携帯電話でテストしても正常に動作します。

何が原因なのでしょうか?

EDIT:KIKを接触させた後

、私は私のボットは、それがrecievingたよりも多くのメッセージを送信し、ボットが禁止される前に、彼らは20の黒字をのみが許可されていることを言われました。

私のボットは、session.send( "text")に続いてプロンプトを使用しています)しかし、Kikは私のメッセージをバッチとして見ることはできませんが、すべてのカップルは2つのメッセージとして数えています。

autoBatchDelayを調整して、0がデフォルトよりもうまくいくかどうかを確認してみました。違いがないことに気付きました。さらに2000に変更しても差はなく、メッセージ間で2000ミリ秒の遅延はありませんでした。

var bot = new builder.UniversalBot(connector, {autoBatchDelay: 0});

は、それは私のボットが正常にバッチ処理されていないことは可能ですか?これに対処するにはどのような手順が必要ですか?

+0

これはまだあなたの問題ですか? – JasonSowers

+0

@JasonSowers複数のメッセージを送信しないようにkik botを書き直しました。ボットフレームワークでkikのバッチ処理を容易にするためのアップデートをしましたか?私が見つけ出す唯一の方法は、試してみて、私が理にかなっているかどうかを見ることです。理想的ではありません。 – Justin

答えて

1

Kikのバッチ処理は現在、バックログにあります。その間に、同じメッセージでテキストとプロンプトを送信できない(キャリッジリターンを必要に応じて返す)理由がありますか?それはあなたの問題を解決するはずです(私はそれを理解しています)。

また、スロットリング赤字から回復するためのKikの規則はやや複雑です。

•任意の送信メッセージ要求では、ボットは1回のPOST要求で最大25個のメッセージを送信できます。 25個のメッセージの中で、ボットには最大5個のメッセージが1人のユーザーに向けられます。

•1つのメッセージを送信する場合でも、5つのメッセージを送信する場合でも、その要求の集合はユーザーへのメッセージの「バッチ」と見なされます。

•ボットには、1日に20個の任意のバッチがユーザに許可されます。

•これは、バッチ内のメッセージの数に応じて、1日に20〜100件の迷惑なメッセージをユーザーに送信する可能性があることを意味します。ボットプラットホームがどのように未請求を決定するかは、1日の終わりにリセットされるデビット/クレジットシステムのように機能します。例えばジュリーはボットにメッセージを送信し、残高は+1になります。ボットは1つのバッチで3つのメッセージで応答し、残高は0になります。ジュリーはボット1メッセージを送信し、残高は+1になります。ボットは個別のバッチで5つのメッセージで応答し、残高は-4になります。ジュリーはボットにメッセージを送信し、残高は+1になります。ボットは個別のバッチで5つのメッセージで応答し、残高は-9になります。

•この赤字が-20になると、毎日のユーザーレート制限に達し、ボットはそのユーザーにそれ以上のメッセージを送信できなくなります。このレート制限を使用するさまざまな方法があります(例:より効率的にバッチを使用したり、より多くのユーザーインタラクティビティを促進するUXを構築できます。

+0

ありがとう@Lars。 さて、問題はそれがラウンド1の終わりを意味し、第2ラウンドの始まりが混乱して同じダイアログで場所を取らなければならない、とKIKは、複数のキャリッジリターンを許可していないようなので、仕方が本当に存在しませんそれらを視覚的に分離する。 また、私は選択肢プロンプトに画像(または任意のIMessageが形式)を通過すると、動作するようには思えないので、すべての画像を含めることはできません意味のようです。 (この入力形式を使用すると選択肢のプロンプトが表示されませんが、入力を入力しても応答します) – Justin

+0

Gotcha。私は、これをより優先させるためにできることを見ていきます。 – Lars

+0

素晴らしい。ありがとう!! – Justin

関連する問題