小屋創作

日誌2019-05-08 22:51

創建自己的聊天機器人,使用LineBot+Python+Heroku

作者:Jia

此篇教學是以 Python line-bot-sdk套件 在 Heroku 上架設一個 LINE Bot 聊天機器人。

主要分為三個部分
  • 創建Line Bot頻道
  • 創建Heroku專案
  • 佈署程式碼


創建Line Bot頻道

註冊Line Develpers帳號完畢後,
點選"Providers" > "Provider List" > 右邊"Create New Provider"。

輸入Provider name (這邊我們應該隨便輸入一個即可)。

創建Provider完成後,進來創一個Messaging API。
點選Messaging API的"Create Channel"。

接下來填寫Line Bot Channel基本資訊:
App name (APP名稱)
App description (APP描述)
Category (分類)
Subcategory (子分類)
Email address (信箱)


創建,下一步點擊同意。

勾選同意Line條款,點擊"Create"。

創建完成,接下來點進去做些相關設定。

Use webhooks -> 開啟(Enable)

罐頭回應Auto-reply messages和Greeting messages關閉(Disabled)。

Channel secret可以先複製下來,待會用到。

產生Channel access token,點擊"issue"。

選擇0 hours代表不會過期。
Channel access token也可以先複製下來,待會用到。


創建Heroku專案

Heroku的免費限制比較有影響的是:
每月免費dyno小時數(依照dyno的運行時間) 共550小時的額度(沒有驗證);
30分鐘內若無人使用的話,會進入休眠狀態(換句話說,如果30分內有請求的話,就不會進入休眠)。

註冊Heroku帳號完畢後,點選右上角"New" > "Create new app"。

設定App name,點擊Create app。
(App name限制:3個字以上、只能小寫字母數字和減號、小寫字母開頭)



佈署程式碼

請先安裝git,下載範例專案(https://drive.google.com/file/d/1DKJ8D5sNHWs2NNvaqQaiQASURQTAHUK7/view?usp=sharing)。
專案是使用Python的line-bot-sdk套件撰寫,可以參考line-bot-sdk-python的GitHub

佈署的方法(Deployment method)就按照預設Heroku Git(Use Heroku CLI)。


接下來照它底下的流程佈署。
下載並安裝Heroku CLI (https://devcenter.heroku.com/articles/heroku-command-line)。

開啟範例程式碼資料夾中的"app.py",修改其中的"line_bot_api"、"handler",改為前面在Line Bot網頁看到的Channel access token、Channel secret。

開啟範例程式碼資料夾,在路徑上輸入"cmd"打開命令提示字元。

登入Heroku
$heroku login

創建一個新的Git存儲庫
(
如果沒有使用過git,要先設定名字、信箱
$ git config --global user.name "你的名字"
$ git config --global user.email "你的信箱"
)
$ git init
$ heroku git:remote -a {HEROKU_APP_NAME}

上傳程式碼
(如果之後程式碼有修改,也要重新執行)
$ git add .
$ git commit -am "make it better"
$ git push heroku master


回到Line Bot
Webhook URL裡輸入{HEROKU_APP_NAME}.herokuapp.com/callback

接下來加入這個LINE Bot來測試看看吧!
底下Bot Informations可使用QR code或ID加入。

範例程式是回應一樣的文字。




除錯

可以觀看在 Heroku 的日誌紀錄
右上角"More" > "View logs"。





參考資源:
https://github.com/line/line-bot-sdk-python
https://yaoandy107.github.io/line-bot-tutorial/
https://dotblogs.com.tw/funny_dotblog/2018/11/14/chatbot_python_2
https://developers.line.biz/en/
https://dashboard.heroku.com/

5

14

LINE 分享

相關創作

Yahoo 搜尋結果 API — DataForSEO 教學

Python爬蟲實例 - Anue 鉅亨網 財經新聞

如何使用 Gemini API?(附上 Python 範例程式)

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】