iT邦幫忙

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

ChatBot&Chatbase系列 第 27

Day27[Chatbase]QuickStart!Use Python!

製作過Day26的QuickStart,對於如何傳送訊息至Chatbase分析已經有初步的了解!
接著就到Python來做做看

  1. 首先根據Chatbase提供的Libraries > Python
    到GitHub網站上下載所提供的檔案:
    https://github.com/google/chatbase-python

2.用Windows PowerShell開啟檔案位置
$cd 檔案位置
https://ithelp.ithome.com.tw/upload/images/20180116/20107144kCC9kc6ewy.png

3.先安裝Chatbase套件
$pip install chatbase
https://ithelp.ithome.com.tw/upload/images/20180116/201071441fWJWum8rO.png

4.開一個新的檔案
Send a user message 程式碼如下:

from chatbase import Message

msg = Message(api_key="Chatbase Bot 的API Key",
              type="user",
              platform="Line",
              version="1.0",
              user_id="Line Developer最下面的地方可以找到",
              message="this is a test",
              intent="test0115",             
              )
              
resp = msg.send()
print(resp)

註:api_key 跟 user_id 要找的內容 可以參考Day26寫的喔!

Send a not_handled user message 程式碼的部分就在Message()中加上

not_handled=True

5.用Windows PowerShell執行
$python 檔案名.py
https://ithelp.ithome.com.tw/upload/images/20180116/20107144mRYaZLDGi5.png

成功的話就會回傳
https://ithelp.ithome.com.tw/upload/images/20180116/20107144UMcxqSeGpy.png

6.到Chatbase看看!!
https://ithelp.ithome.com.tw/upload/images/20180116/20107144t3pAhLcC3c.png

註:執行完程式,要隔一段時間才會在Chatbase上看到
Chatbase好像是每15-18分鐘會更新一次Bot上的分析資料
但是Not Handled跟Handled的訊息紀錄好像就更久了...


在GitHub上所說的 One can send sets of messages as well
也就是可以傳一組訊息(非單一獨立訊息)
這個方式可以用在不同user_id的狀況下

from chatbase import MessageSet 
from chatbase import Message

set = MessageSet(api_key="", 
                    platform="Line", 
                    version="1.0", 
                    user_id="")
msg = set.new_message(intent="impress", 
                        message="goesto123" )

msg.user_id = "shark-sandwich"

msg2 = Message(api_key="",
              platform="Line",
              version="1.0",
              user_id="",
              message="this is a test0116",
              intent="test0116",
              not_handled=True)
set.append_message(msg2)

resp = set.send()
print(resp)

執行方式與成功與否的情況都與上面相同

結果在Bot中可以看到User messages數量是有增加的
在Not handled by agent計算也是正確的
https://ithelp.ithome.com.tw/upload/images/20180116/20107144k140u2QtLz.png
在Not Handled的訊息紀錄也可以看到所傳送的內容
https://ithelp.ithome.com.tw/upload/images/20180116/20107144xqQlLxen96.png
( Not Handled跟Handled的訊息紀錄還是隔了相當久的時間才出現 )

所以如果傳送成功後,沒有馬上收到也不要太緊張,只要在15-18分鐘左右的時間User messages是有增加的
基本上訊息就確認是有被記錄的了!只是還沒有顯示出紀錄,再多等一些時間應該就會出現囉~~


上一篇
Day26[Chatbase]QuickStart!
下一篇
Day28[Chatbase]Line->Chatbase
系列文
ChatBot&Chatbase30

尚未有邦友留言

立即登入留言