php | LineBot開發(一)

2020-01-04

前言

在實行本篇文章之前,請先設置好PHP的環境,再來參考本篇。

本文

到Line Developers的官方網站,用Line帳號登入成為開發者

https://developers.line.biz/zh-hant/ 

申請一個Messaging API 

新建完後,將Channel secret 及Channel access token(按Issue產生) 記錄下來,會用到

申請 Heroku 的帳號 ,並新增一個app

(app名稱會用到)

Heroku 為一個網站架設平台,

支援php,Node.js,Python,Java等)

https://github.com/line/line-bot-sdk-php 下載php的Line SDK (軟體開發套件)

(可直接下載,也可照著裡面的方式用composer下載)

基本的回覆機器人功能在 line-bot-sdk-tiny 資料夾裡面 有範本 -> echo_bot.php 

及 會用到的 Class -> LineBotTiny.php

你可以將這個資料夾複製一份出來,對 echo_bot.php 做修改 

將 21 行 及 22 行的變數設為你的Channel access token及Channel secret

接著在這個資料夾內新增一個index.php後再Deploy(發行)至 Heroku

(發行方法請參考  Line官方文檔 或是 你剛剛在Heroku申請app裡也有教學 )

(如果沒有composer.json這個檔案,發行會失敗,至少專案內需要含有index.php即可發行,相關執行log可以在dashboard.heroku.com/apps/{your_appName}的 Mores->View logs觀看)

我是連結至GitHub的專案上,並採取自動發行(當push到github後即會deploy)

發行之後將連結 https://{your_appName}.heroku.com/{your_bot.phpPath} 

貼至 Messaging API的WebHook

儲存之後,按下Verify(驗證)

如果出現右邊的畫面即為成功

如果不是,則針對其回復的錯誤訊息進行修復

如 Return other StatusCode than 200 (回傳200以外的HTTP狀態碼)

可以到Heroku查看Log,看是檔案位置不對以致找不到回傳404或是程式碼有錯誤回傳5XX,在進行修復

在Messaging API的設定裡有QRcode,可以將你的LineBot加為好友

現在跟它聊天如果它不是回覆你所傳給他的文字訊息,而是

感謝您的訊息(blush)

但很抱歉,本帳號無法個別回覆用戶的訊息(hm)

敬請期待我們下次發送的訊息內容

代表要進行下面幾項的設定

Use webhook

(使用WebHook)

Allow bot to join group chats 

(允許機器人進入群組)

Auto-reply messages 

(自動回覆訊息)


將Auto-reply messages關掉並開啟Use webhook

機器人就會循著你所寫的功能進行回覆

© 2019 Syow 
Webnode 提供技術支援
免費建立您的網站! 此網站是在 Webnode 上建立的。今天開始免費建立您的個人網站 立即開始