2016-11-28 117 views
-1

我正在用wit.ai和python構建聊天機器人並將其與Facebook Messenger集成。我已成立了網絡掛接以及發送功能和fb_message功能完全像在本教程中:當我在wit.ai或控制檯測試https://github.com/wit-ai/pywit/blob/master/examples/messenger.pyFacebook Messenger聊天機器人給出了重複的回覆

我的機器人工作正常,但是當我測試它在實際的Facebook Messenger的,它給每個答覆兩次。機器人內部的哪個函數被調用並不重要,我總是得到兩個回覆。

我最簡單的操作是這樣的:

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

(這總是返回相同的字符串,這是在wit.ai引擎定義。)

+0

你檢查facebook api的消息是否爲空? $ input ['entry'] [0] ['messaging'] [0] ['message'] - >檢查這個是否爲空或者不空...如果爲空則不處理請求。 – ssakash

回答

1

如果你的機器人預訂了比pages_messaging其他事件,比如messaging_deliveries,確保你也處理這個事件。

發生了什麼事是你的機器人正在接收消息請求,然後通過另一個事件接收另一個消息,並且你的代碼將它們作爲消息處理。

我認爲這是問題,如果不是,請給我們更多的細節。

0

我以前有過這個問題,事實證明,message_echoes已啓用。如果啓用該功能,會發生什麼情況是Bot會嘗試迴應您輸入的任何文本。

我的邏輯結束了捕捉回聲,然後迴應相同的迴應。我確實有一個處理程序來捕獲類似的響應,所以我能夠避免無限循環。

0

有人可能會像我的情況。

我的情況:

我誤訂閱我的兩個不同的漫遊到一個Facebook頁面上的developer.facebook.com。

由於這個錯誤,當我向我的Facebook頁面寫入特定命令(例如重新啓動)時,bot向我回復了完全相同的兩條消息(例如「Bot Restarted」,「Bot Restarted」)。

這讓我很難找出問題。

您應該至多訂閱一個bot到您的Facebook頁面。

相關問題