私はfacebookミニチャットのボットに取り組んでいますが、ボットには既に同じメッセージを繰り返し返信するという問題が発生しています。メッセージ。Facebook chat bot同じメッセージを複数回送信する(Python)
it keeps receiving the same text from FB and replying to it over and over
def message_handler(request):
data = json.loads(request.body.decode('utf-8'))
if data and data['object'] == 'page':
for pageEntry in data['entry']:
print "nombre de message", len(pageEntry['messaging'])
for messagingEvent in pageEntry['messaging']:
if messagingEvent.get('optin'):
print "optin", messagingEvent
receivedAuthentication(messagingEvent)
elif messagingEvent.get('message'):
print "message", messagingEvent
receivedMessage(messagingEvent)
elif messagingEvent.get('delivery'):
print "delivery", messagingEvent
receivedDeliveryConfirmation(messagingEvent)
elif messagingEvent.get('postback'):
print "postback", messagingEvent
receivedPostback(messagingEvent)
else:
print "UnHandled"
return HttpResponse(status=200)
def receivedMessage(event):
senderID = event.get('sender').get('id')
message = event.get('message')
messageText = message.get('text')
messageAttachments = message.get('attachments')
if messageText:
if messageText == 'image':
sendImageMessage(senderID)
elif messageText == 'button':
sendButtonMessage(senderID)
elif messageText == 'generic':
sendGenericMessage(senderID)
elif messageText == 'receipt':
sendReceiptMessage(senderID)
elif messageText == 'hey':
sendTextMessage(senderID, "Get it. Gimme a moment to process it :). Will get back to you in a moment")
send_seen()
send_typing()
words = words_gen()
sendTextMessage(senderID, words)
def callSendAPI(messageData):
requests.post(
url='https://graph.facebook.com/v2.6/me/messages?access_token=' + config.page_token,
data=json.dumps(messageData),
headers={"Content-Type":"application/json"}
)
私は私がやった状態200毎回、送信する必要があるが、それでも以上の同じテキストを受信し、ここで
上で、私は に加入していたイベントであることを取得します会話、message_deliveries、message_reads、メッセージ、messaging_optins、messaging_postbacks、絵
私はそれが問題だと思ったので、私はmessaging_echoesを削除し、私は関数を記述し、私のWeb APIサービスで重複メッセージをチェックすることにより、この問題を解決していない
をチェックして、私はこれがあなたの問題である疑いが、私のために、私はエラーがあるとき、Facebookは時間の間隔を増やすことで、メッセージを数回送信します。私はそれを言いたいと思った。 – user2322082
@ user2322082これはログにあります。同じテキストを何度も受信しているので、ボットは何度も何度もそれを処理しています。 – kaizer
あなたの質問に単一のメッセージを送信したときに表示されるprintステートメントを含めると、それは人々があなたの問題を解決するのを助けるかもしれない – user2322082