iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 29
0
AI & Machine Learning

ChatBot&Chatbase系列 第 29

Day29[Chatbase]Facebook Message API

Chatbase有提供Facebook Message API
專門給Messenger使用

本篇還是先以直接用Python傳送訊息至Chatbase
先對使用Facebook Message API有概念後再來整合至Messenger ChatBot

1.下載Chatbase官方提供之python專案(亦可以使用Day27的專案)
github: https://github.com/google/chatbase-python

2.新增一個python檔案,並寫入程式

如果還沒有安裝過chatbase要先用pip安裝才能套用
$pip install chatbase

如果已經安裝好就可以直接進入程式的部分

from chatbase import FacebookAgentMessageSet, FacebookUserMessageSet

usrSet = FacebookUserMessageSet(api_key="BOT API", version="1")
msg = usrSet.new_message(intent="fb", message="成功")
# Don't for get to set the message, recipient and sender ids
msg.set_recipient_id("")
msg.set_sender_id("")
msg.set_message_id("")
resp = usrSet.send()
print(resp)

訊息處理與否的設定

  • Not Handled
msg.set_as_not_handled()
  • Handled
msg.set_as_handled()

recipient_id
sender_id
message_id
可以從之前做好的fb messenger chatbot中print出來看
如圖中 三個紅色框框
https://ithelp.ithome.com.tw/upload/images/20180117/20107144EnCyWrfmer.png

3.結果
我重新開一個Bot來確認是否有收到data,可以看出是有收到的!
https://ithelp.ithome.com.tw/upload/images/20180118/20107144x3QxpecMl0.pnghttps://ithelp.ithome.com.tw/upload/images/20180118/20107144b3lkw84qMf.png

訊息處理與否的紀錄
(訊息亂碼原因尚未解決)
https://ithelp.ithome.com.tw/upload/images/20180118/201071443hDw5SnZJP.pnghttps://ithelp.ithome.com.tw/upload/images/20180118/20107144L4FV9mo5pT.png

而下圖訊息傳遞成功是使用這個方法(似Day27)而傳送成功的!

from chatbase import Message
msg = Message(api_key="BOT API",
              type="user",
              platform="Facebook",
              version="1.0",
              user_id="",
              message="FBtest123",
              intent="FB_test",
              not_handled=True
              )
resp = msg.send()
print(resp)

platforme改成Facebook
這邊的user_id是使用fb Messenger中的sender id

https://ithelp.ithome.com.tw/upload/images/20180117/20107144PscCus3AWM.png
訊息也收到了
https://ithelp.ithome.com.tw/upload/images/20180118/20107144zKdxnjLNlY.png


上一篇
Day28[Chatbase]Line->Chatbase
下一篇
Day30[Chatbase]FB Messenger->Chatbase
系列文
ChatBot&Chatbase30

尚未有邦友留言

立即登入留言