Larave 串接 Line Bot 接收訊息與回覆
Oct 28, 2020
因主動發出訊息是需要付費的,免費方案為輕用量,只有500則的額度,但透過機器人接收使用者訊息並回覆是不需要付費的,所以串接目的為做出一個可以根據特定行為、文字回應指定訊息的機器人。
串接環境需求
- php 7.2
- laravel 5.8
- composer require linecorp/line-bot-sdk
串接流程
- 建立 Line Bot
- 在 Basic settings 取得 Channel secret
- 在 Messaging API 取得 Channel access token (long-lived) 以及 Bot basic ID
- 若您有外部可連結網域可略過此步驟,因為 Webhook URL 必須為 https 外部可訪問的網址,使用 localhost 進行測試的話可以透過 ngrok 工具進行轉發 ,Windows 環境使用方式為下載 ngrok 後解壓縮開啟 ngrok.exe 並輸入 ngrok http 80,將視窗中的 https 網址複製起來 https://27c930f3ac7b.ngrok.io 做為 Webhook URL 使用
- 在 Webhook settings 設定 Webhook URL 以及啟用 Use webhook
- 接下來將以 Laravel 做串接示範,透過 composer 安裝 plugin:composer require linecorp/line-bot-sdk
- Git Hub 程式碼
- 確認 Webhook URL 填入後,按 Verify 驗證是否可以正常接收 Line 回應,無法收到 HTTP 200回應的話需確認 Webhook URL 正確性,例如網址是否可供外部訪問、Laravel route 是否設定正確以及程式是否報錯等原因
- 開啟 Line 加入好友視窗搜尋機器人 Line ID,記住要加上@小老鼠
- 傳送訊息給你的機器人進行測試,有接收到機器人回覆就是成功了,剩下的玩法就看個人造化
相關連結
- Line Console
- 本地網址轉發 ngrok
- 串接範例 GitHub