-1

私はwit.aiとpythonでchatbotを作成し、Facebook Messengerと統合しています。 https://github.com/wit-ai/pywit/blob/master/examples/messenger.pyFacebook messenger chatbotは重複した返信を返します

私はwit.aiやコンソールでテストするとボットがうまく動作しますが、実際のFacebookメッセンジャーでテストすると、私は実際にFacebookのメッセンジャーでテストします。それぞれの返信を2回与えます。ボット内のどの機能が呼び出されても問題はありません。私はいつも2つの返信を受け取ります。

私の最もシンプルなアクションはこれである:あなたのボットがpag​​es_messaging以外のイベントにサブスクライブされている場合

def defaultAnswer(request): 
    context = request['context'] 
    return context 

(これは常にwit.aiエンジンで定義されている文字列と同じ文字列を返します。)

+0

facebook apiからのメッセージが空であるかどうかを確認しますか? $ input ['entry'] [0] ['messaging'] [0] ['message'] - >空であるかどうかをチェックします。 – ssakash

答えて

1

、messaging_deliveriesのように、このイベントも処理していることを確認してください。

あなたのボットがメッセージリクエストを受信して​​から、別のイベントで別のイベントを受信して​​いて、あなたのコードがそれらを両方ともメッセージとして処理しています。

私はこれが問題だと思いますが、そうでない場合は、詳細を教えてください。

0

これまでにこの問題が発生していたため、message_echoesが有効になっていました。これが有効になっていると、ボットは入力したテキストをエコーし​​ようとします。

私のロジックがエコーを捕らえてしまい、同じ応答で応答しました。私は無限ループを回避できるように、同様の応答をキャッチするハンドラを持っています。

0

誰かが私のような場合があります。

私の場合:

私は誤ってdeveloper.facebook.comに1つのFacebookのページに私の二つの異なるロボットをサブスクライブします。

特定のコマンド(例:restart)を自分のFacebookページに書き込むと、ボットはまったく同じ2つのメッセージ(「Bot Restarted」、「Bot Restarted」など)を返信します。

私はこの問題を見つけるのに夢中になりました。

ほとんどの場合、Facebookの1ページに1つのボットを登録する必要があります。

関連する問題