聊天機器人只有自己可以用,出了什麼問題?

最近寫了一個「誰去買晚餐」的聊天機器人,很開心也順利通過了微軟的上架審核:

Screenshot 2017-04-13 11.06.41

就在我以為一切順利並通知很多人來玩時,沒想到竟然發生這些狀況,所幸都已經解決,在此跟大家分享處理的方式。

狀況一:這名用戶目前沒空

NotAvailable

問題來源:

一開始建置Facebook粉絲專頁的時候沒有發佈,所以導致當有人要用的時候無法傳訊給它

解決方式:

進入Facebook粉絲頁的設定,確認粉絲頁是否已發佈

Screenshot 2017-04-15 20.13.31

狀況二:可傳訊但是沒有回應

粉絲專頁確定已發佈之後,還是出現狀況。可以傳訊,但是沒有回應:

Screenshot 2017-04-16 08.47.11

本來也百思不得其解,直到突然想起,在Bot Framework中,有狀況時好像會看到一個Issues,去那邊找看看有沒有線索。

首先,先點選Bot Framework中的My bot:

Screenshot 2017-04-16 08.52.57

然後再進入自己想編輯的機器人,往下拉找到Channels:

Screenshot 2017-04-16 08.54.07

點擊Issues進入看看,終於找到原因:

Cannot message users who are not admins, developers or testers of the app until pages_messaging permission is reviewed and the app is live.

怪不得自己測試都正常,一般用戶卻不能用,真的是很容易會踩到的雷。趕快來補一下Facebook Messenger上架的步驟吧!

進入你的FB應用程式,往下拉找到送審的部分,此時通常需要補填一些資訊,像是隱私權網址、如何喚醒機器人的第一句話等等,跟著步驟將這些資訊填上,送審之後會看到:

Screenshot 2017-04-14 12.39.22

實際經驗沒那麼久,大約一天的時間就看到通過了,而且剛送審不到一個小時,就看到Facebook審查人員(不確定是不是機器人,他還有二十幾個好友XD)進行測試,然後快到通過的前一個小時,還有另一人再次上線測試,通過時會收到Facebook寄的通知:

Screenshot 2017-04-16 09.03.25

順利通過之後,所有人都可以正常使用你的機器人了!但是還是會有一個小問題,就是你送審前傳訊給你的那些使用者,他們第一次傳訊其實等同已經喚醒機器人,所以現在再傳訊等於進入了實際的功能,可能會導致第一次使用結果不正常,目前還沒想到可以怎麼解決。

希望大家可以經由以上的分享,知道下次遇到「該用戶沒空」或是「沒有回應」,可能可以怎麼處理了!


IMG_0824

Ryan Chung

任職於資策會IT訓練中心,曾遠赴德國擔任難民組織網頁工程師,也在美國Udacity擔任行動開發專案審核員。對於資訊教育有著無比的熱情,最新的玩具是不會講中文的Echo Dot。