用GCP 弄一個Messenger Bot

因為Google 有免費的 serverless 服務可以使用,同時目前又需要進行一些測試,所以就乾脆一起來一邊做文件,一邊把功能設定出來.

要完成這個工作主要是需要:

  1. Facebook 粉絲頁
  2. Facebook application
  3. Google Cloud Platform (使用Cloud Functions)

首先開立一個粉絲團,點擊粉絲專頁.

點擊社群或者是公眾人物

填入自己喜歡的名字

完成後,記得到藍色那裡點選編輯按鈕,改成發送訊息.

點選向你聯絡後,點發送訊息,並按下一步完成它

點選 Messenger 後按下完成

進入 GCP 之後,點選 Google Cloud Functions,點選 create function

調整函數名稱為 webhook,Memory allocated 看要不要調整,而且Runtime環境也可以從 Node.js 6 改成 Python 3.7

調整程式碼,可以直接 copy & paste,其中 Token 可以等一下去FB application 後台獲得後,在更新調整.

記得修改 Function to execute 的名稱

儲存之後,就可以在 Trigger 拿裡拿到 endpoint URL

首先連線到 Facebook for developer,新增一個應用程式,點我的應用程式後,按下新增應用程式

接下來輸入一個自己開心的名稱吧

接著我們要設定 Messenger ,首先點選Messenger

接著設定 webhooks,首先點選選擇粉絲專頁,專業2的 bot 之後,就會看見存取權杖,這個拿到之後就可以去更改 GCP上面的 [TOKEN].

緊接著點選設定 Webhooks

將剛剛的Google Cloud Functions 提供的 endpoints URL 放進回呼網址,並在驗證權杖打入 test,其中訂閱欄位可以依照自己需求去訂,其中 messages 是最基本必要,完成之後就可以驗證並儲存.

如果一切正常,就可以看見下面的訊息,只要再把粉絲頁改成剛剛新創的粉絲專頁就可以了.

最後回到粉絲頁,點選發送訊息->驗證按鈕,就可以看見彈跳出對話框,如果按照之前的程式碼放入,那麼在這裡打的任何一句話,應該都會看見後面被加上 aha,那麼恭喜你的手工 chatbot on Google Cloud Functions 就完成了.

後話

因為目前只為了簡單方便,所以才會採用其實回應速度也有點頓頓的 Google Cloud Functions,不過畢竟在一個量下免費,然後需求也不複雜的情況下,其實這樣的做法可以快速有效的實作出許多 prototype 出來.或許 heroku 是另外一個可以去嘗試的地方,但就改天再進行吧.

--

--

aha 專長於組裝各式語言與各大平台服務,打造最小可行產品原型.曾獲得2011 政府開放資料平台App社會組首獎.2015 PIXNET Mobile Service社會組首獎.2014 DSC R 課程講師.2017pycon與2017 DSC講者,2022 法律x法遵黑客松第三名。

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Cheng-Yu Lin

aha 專長於組裝各式語言與各大平台服務,打造最小可行產品原型.曾獲得2011 政府開放資料平台App社會組首獎.2015 PIXNET Mobile Service社會組首獎.2014 DSC R 課程講師.2017pycon與2017 DSC講者,2022 法律x法遵黑客松第三名。