iT邦幫忙

2022 iThome 鐵人賽

DAY 20
1
自我挑戰組

Python and LINE Bot系列 第 20

[Day20] LINE Bot基本互動功能(一)

  • 分享至 

  • xImage
  •  

About 鸚鵡 LINE Bot

什麼是鸚鵡 LINE Bot 呢?顧名思義,就是像鸚鵡一樣,會重複人類的話。前篇文章建立的聊天機器人已經有一些功能,像是優惠券、集點卡及圖文選單,但還不能與使用者互動。所以這篇將要設定一個會回傳使用者傳送的訊息的功能!

一、取得 LINE Bot API 程式所需資訊

step 1: 建立新的 LINE Bot
https://ithelp.ithome.com.tw/upload/images/20221004/20151448itaGOskyki.png

step 2: 記錄 Channel secret 欄位的值,待會會用到。右方的 Issue 鈕可以產生新的值
https://ithelp.ithome.com.tw/upload/images/20221004/20151448yoDXMWi3Ti.png

step 3: 切換到 Messaging API 頁籤,點選 Issue 鈕,產生 Channel access token 並且記錄下來,待會也會用到
https://ithelp.ithome.com.tw/upload/images/20221004/20151448gb4EMs9NiD.png
https://ithelp.ithome.com.tw/upload/images/20221004/20151448wNAfP7DaJb.png

 

二、安裝 LINE Bot SDK

要安裝 LINE Bot SDK 才能在程式中加入 LINE Bot API ,讓聊天機器人能夠與使用者互動。在命令視窗輸入:

pip install line-bot-sdk==1.18.0

https://ithelp.ithome.com.tw/upload/images/20221004/20151448jLS9rnVHnU.png

 

三、使用 Flask 建立網站

使用 LINE Bot 要建立網站伺服器,這裡使用 Flask 模組
https://ithelp.ithome.com.tw/upload/images/20221004/20151448iKkbhmEIeH.png
16-17 設定 Channel access token 和 Channel secret 資訊
19-27 檢查資料是否正確
29-31 若接收到使用者傳送的訊息,就將接收到的文字訊息回傳

 

四、使用 ngrok 建立 https 伺服器

LINE Bot 的伺服器連結是使用 Webhook URL ,它有兩個規則:

  1. 網址:必須使用網址,不可以使用 IP 位址
  2. 通訊協定:必須使用 https 的通訊協定

網站服務要使用 https 的通訊協定建立不容易,因此這裡採用 ngrok 來建置測試環境。 ngrok 是代理伺服器,可以建立 http 伺服器,也可以建立 https 伺服器,有符合 LINE Bot 伺服器的需求。

https://ngrok.com/download 網頁下載檔案
https://ithelp.ithome.com.tw/upload/images/20221004/20151448fY45ijSeue.png

解壓縮後會看到一個 ngrok.exe 檔,點開來之後輸入下方語法,來啟動 ngrok 伺服器

ngrok http 5000   #Flask伺服器預設埠位為5000

紅色框框的網址要記錄下來,待會會用到
https://ithelp.ithome.com.tw/upload/images/20221004/20151448NLVsMfLQXx.png

 

五、設定 LINE Bot 的 Webhook URL

測試環境使用 ngrok 伺服器建立完成後,將 LINE Bot 的 Webhook URL 設定為 ngrok 伺服器的 https 伺服器網址,LINE Bot 就能回應使用者的訊息了

到 LINE Bot 設定頁面的 Messaging API 頁籤,將 Webhook URL 設定為 https://ngrok 伺服器 /callback ,點選 Update 更新設定值,並且開啟下方的 Use webhook
https://ithelp.ithome.com.tw/upload/images/20221004/20151448OhEDprrHNy.png

都設定完成後到聊天室裡,鸚鵡機器人會 repeat 你傳送的內容!
https://ithelp.ithome.com.tw/upload/images/20221004/20151448nFC4FOsTmV.png

 
 
 
 
 

參考資料:Python與LINE Bot機器人全面實戰特訓班-Flask最強應用


上一篇
[Day19] 初玩 LINE Bot
下一篇
[Day21] LINE Bot基本互動功能(二)
系列文
Python and LINE Bot30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言