Python + Line bot 從頭開始建立一個 Line 機器人,部署到 Heroku!
又是 Line 系列啦,今天要做一個基本款機器人,為了以後的 Side Project 做準備,先用此文紀錄如何從0開始建立一個聊天機器人,然後部署到 Heroku及丟上 Github 自動更新,讓它可以真的運作!
前言
基本款的完成後,可以依照個人喜好做出各種風格的機器人,像是 AI 聊天、使用內建的菜單選單樣式化、接收到的文字另存至資料庫等,都是製作個人 side project 很好的方式!
開發環境
- window11
- python 3.10.5
大綱
- 建立 Line bot / 建立一個機器人帳號
- 寫 python / 讓機器人回覆一樣的文字
- 部署至 heroku 及 github / 包含環境變數的設定
- 結論
〈一〉建立 Line bot
- 登入 line develop
在這邊,登入自己的 line 帳號
2. 建立 line 頻道
選 create a new channel,選擇第二個 — Messaging API
3. 將帳號加為好友
選到第二個頁簽,Messaging API,在 Line 新增好友輸入這裡的 Bot basic ID
4. 設定 webhook
往下滑一點會看到 Webhook settings,把 Use webhook 打開,上方的 URL可以先不輸入,等等再回來設定。
5. 記下程式連接機器人必要的密鑰
- Messaging API — Channel access token
- Basic settings — Channel secret
6. 在 Basic information 有一個連結 LINE Official Account Manager,停用自動回覆及打招呼
〈二〉寫 Code
- 建立 github 專案
2. 將專案 clone 下來
並以 vscode 開啟
3. 新增 app.py 檔案
4. 建立虛擬環境,避免相關套件直接安裝在電腦中(需安裝虛擬環境套件 virtualenv)
- 依序輸入
$ virtualenv venv
$ .\venv\Scripts\activate.bat
看到前面帶著 (venv) 表示已經進入虛擬環境中
5. 新增檔案 requirements.txt
line-bot-sdk==2.3.0
flask==2.1.2
requests==2.28.0
6. 新增 heroku 需要的檔案
- Procfile (沒有副檔名)
web: python app.py
- .gitignore
venv
7. 修改 app.py,如下
8. 將目前的程式碼丟上 github
$ git add .
$ git commit -m init
$ git push
〈三〉部署至 heroku 及 github
- 建立 heroku 帳號
- 點擊 NEW , 新增一個專案 Create new app
3. Create app
4. 新增環境變數
切換到 Settings ,在 Config Vars,新增兩個變數,就是我們剛剛在 line 中記錄下來的 Token 與 secret
CHANNEL_ACCESS_TOKEN
CHANNEL_SECRET
5. 與 github 專案連結
切換至 Deploy 頁,在 Deployment method 點中間的 Github
6. connect 點下去
7. 設定自動部署
在我們 push 新程式碼到 github 時自動部署 — Enable Automatic Deploys
8. 手動部署第一次 — Manual deploy
點擊 Deploy a GitHub branch
9. 回到 line 設定 webhook
我們要到 heroku 的 Settings ,往下滑到 Domains,會看到一串網址
複製起來,貼到 Webhook URL
https://ooxxxxxx.herokuapp.com/callback
# 記得最後要加上 /callback
測試一下
成功啦~~~~~
結論
一個基本款的機器人就是拿莫簡單 ٩(ˊᗜˋ )و
( 之前寫機器人都是用 Node.js,這次用 python,感覺語法差好多,好險網路資源很豐富,謝謝各位大神前輩們 ╰(*°▽°*)╯)
Repo 在這
回到最上方