Larave 串接 Line Bot 接收訊息與回覆

Jerry Chen
Oct 28, 2020

--

因主動發出訊息是需要付費的,免費方案為輕用量,只有500則的額度,但透過機器人接收使用者訊息並回覆是不需要付費的,所以串接目的為做出一個可以根據特定行為、文字回應指定訊息的機器人。

串接環境需求
- php 7.2
- laravel 5.8
- composer require linecorp/line-bot-sdk

串接流程

  1. 建立 Line Bot
  2. 在 Basic settings 取得 Channel secret
  3. 在 Messaging API 取得 Channel access token (long-lived) 以及 Bot basic ID
  4. 若您有外部可連結網域可略過此步驟,因為 Webhook URL 必須為 https 外部可訪問的網址,使用 localhost 進行測試的話可以透過 ngrok 工具進行轉發 ,Windows 環境使用方式為下載 ngrok 後解壓縮開啟 ngrok.exe 並輸入 ngrok http 80,將視窗中的 https 網址複製起來 https://27c930f3ac7b.ngrok.io 做為 Webhook URL 使用
  5. 在 Webhook settings 設定 Webhook URL 以及啟用 Use webhook
  6. 接下來將以 Laravel 做串接示範,透過 composer 安裝 plugin:composer require linecorp/line-bot-sdk
  7. Git Hub 程式碼
  8. 確認 Webhook URL 填入後,按 Verify 驗證是否可以正常接收 Line 回應,無法收到 HTTP 200回應的話需確認 Webhook URL 正確性,例如網址是否可供外部訪問、Laravel route 是否設定正確以及程式是否報錯等原因
  9. 開啟 Line 加入好友視窗搜尋機器人 Line ID,記住要加上@小老鼠
  10. 傳送訊息給你的機器人進行測試,有接收到機器人回覆就是成功了,剩下的玩法就看個人造化

相關連結
- Line Console
- 本地網址轉發 ngrok
- 串接範例 GitHub

--

--

Jerry Chen
Jerry Chen

No responses yet