什麼是鸚鵡 LINE Bot 呢?顧名思義,就是像鸚鵡一樣,會重複人類的話。前篇文章建立的聊天機器人已經有一些功能,像是優惠券、集點卡及圖文選單,但還不能與使用者互動。所以這篇將要設定一個會回傳使用者傳送的訊息的功能!
step 1: 建立新的 LINE Bot
step 2: 記錄 Channel secret 欄位的值,待會會用到。右方的 Issue 鈕可以產生新的值
step 3: 切換到 Messaging API 頁籤,點選 Issue 鈕,產生 Channel access token 並且記錄下來,待會也會用到
要安裝 LINE Bot SDK 才能在程式中加入 LINE Bot API ,讓聊天機器人能夠與使用者互動。在命令視窗輸入:
pip install line-bot-sdk==1.18.0
使用 LINE Bot 要建立網站伺服器,這裡使用 Flask 模組
16-17 設定 Channel access token 和 Channel secret 資訊
19-27 檢查資料是否正確
29-31 若接收到使用者傳送的訊息,就將接收到的文字訊息回傳
LINE Bot 的伺服器連結是使用 Webhook URL ,它有兩個規則:
網站服務要使用 https 的通訊協定建立不容易,因此這裡採用 ngrok 來建置測試環境。 ngrok 是代理伺服器,可以建立 http 伺服器,也可以建立 https 伺服器,有符合 LINE Bot 伺服器的需求。
到 https://ngrok.com/download 網頁下載檔案
解壓縮後會看到一個 ngrok.exe
檔,點開來之後輸入下方語法,來啟動 ngrok 伺服器
ngrok http 5000 #Flask伺服器預設埠位為5000
紅色框框的網址要記錄下來,待會會用到
測試環境使用 ngrok 伺服器建立完成後,將 LINE Bot 的 Webhook URL 設定為 ngrok 伺服器的 https 伺服器網址,LINE Bot 就能回應使用者的訊息了
到 LINE Bot 設定頁面的 Messaging API 頁籤,將 Webhook URL 設定為 https://ngrok 伺服器 /callback
,點選 Update 更新設定值,並且開啟下方的 Use webhook
都設定完成後到聊天室裡,鸚鵡機器人會 repeat 你傳送的內容!
參考資料:Python與LINE Bot機器人全面實戰特訓班-Flask最強應用