Line 聊天機器人 手把手實作教學
學習筆記
擁有一個 Line 聊天機器人感覺好潮啊~
抱著這樣的想法,然後也有想爬的資料
決定自己動手做一個自己的機器人!
本篇紀錄了建立機器人的詳細過程
一、Line開發者平台建立資料
要建立 Line 聊天機器人,首先當然要去 Line 申請
我們到 Line Developer 並使用自己的 Line 帳號登入
登入後會到自己的頁面去,點選頁面上的 Create 按鈕
點選 Create 後 就輸入自己的專案名稱
送出後,就會建立一個專案,然後我們再選擇 Messaging API Channel
然後接下來就會要我們輸入一些專案的資訊
填完資後按下送出,專案就建立完成了!
這時候在 Basic settings 之下可以看到 『Channel secret』
然後再去到 Messaging API settings 之下可以看到 『Channel access token』
這時候 token 應該是空的,按下右邊的 issue 按鈕之後,就會出現 token 了
要把這兩個值記下來,會在程式碼中使用到
二、Heroku 申請
上面 Line 專案建立完成之後
我們可以去到 Heroku 並註冊加入會員
Heroku 是一個 Pass 服務,可以讓我們很方便的部屬專案
而且是免費的,一個帳號每個月可以免費使用 450 小時
對個人要使用的 Line 機器人來說應該非常足夠了
不過要注意的是如果沒在使用,Heroku在沒有連線超過 30 分鐘時
會自動休眠,每次從新啟動需要等待30秒左右~
註冊完成後,我們可以選擇 Create New App
然後輸入一個名稱,並點 Create 送出
開好專案之後,我們要回到 Line 開發者平台
將我們的 heroku 網址存起來
在專案內的 Messaging API 底下可以看到 Webhook settings
將我們在 heroku 的專案網址貼上:
https://.herokuapp.com/callback
接著要讓本機可以與 heroku連結
去到 Heroku Dev Center 然後點選 The Heroku CLI
然後會看到裡面有介紹如何安裝 Heroku CLI
我們在自己的 bash 進行安裝:
brew tap heroku/brew && brew install heroku
確認有安裝完成
heroku
本機登入
heroku login
三、部署及錯誤排解
在 Line 以及 Heroku 都準備完成後
就可以將聊天機器人部署上去了!
直接到 Line 官方的將範例複製下來
我是選擇使用 Python,在這之前還要記得安裝好套件
pip install line-bot-sdk
然後新增一個資料夾,底下就一個 main.py 存入剛剛複製的範例
然後記得程式碼中的
line_bot_api = LineBotApi('YOUR_CHANNEL_ACCESS_TOKEN')
handler = WebhookHandler('YOUR_CHANNEL_SECRET')
要換成自己的 sercert 以及 token~
建立 git
git init
將專案與 heroku 連結
heroku git:clone -a
專案加入追蹤並上傳
git add .
git commit -m"init app"
git push heroku master
第一次上傳失,一直顯示失敗
後來才發現需要將 heroku 專案做好設定,讓他知道我上傳的是 Python程式
於是我們到 heroku 的專案中,選擇 setting
底下有一個 Buildpacks 區塊,點選右邊的 Add buildpack,選擇 python 並按確定
完成這設定之後,還是有遇到錯誤
App not compatible with buildpack
後來才知道部署 Python,還需要有 requirements.txt 檔以及 Procfile 檔
前者是告訴 server 需要安裝的套件
後者是告訴 heroku 在部屬時需要做的事情
requirements.txt 可以這樣產生:
pip freeze > requirements.txt
Procfile 則需要自己建立,我建立了之後裡面有這一行:
web: gunicorn main:app –preload
告訴 heroku 要利用 gunicorn 執行 web server
這樣,完成之後, Line 機器人就可以動起來囉!!