php | LineBot開發(一)
前言
在實行本篇文章之前,請先設置好PHP的環境,再來參考本篇。
本文
到Line Developers的官方網站,用Line帳號登入成為開發者
申請一個Messaging API
新建完後,將Channel secret 及Channel access token(按Issue產生) 記錄下來,會用到
到 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
如果出現右邊的畫面即為成功
如果不是,則針對其回復的錯誤訊息進行修復
如 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
機器人就會循著你所寫的功能進行回覆