Line Chatbot with Python 簡易架設使用紀錄

Line Chatbot with Python 簡易架設使用紀錄

一、Line@ 申請

首先需要申請 Line@ 相關服務,包括 Line@ MANAGER 與 Message API。


(Message API 是在 Line Developers 裡的一項服務,使用 Free 或著 Developer Trial 皆可)

至此其實已經可以在 Line@ MANAGER 裡設定相關的關鍵字回覆,可以先試玩一下~

二、Server 架設

要使用自行撰寫的程式,就需要一個 Server 來讓 Message API 可以連結,而且還必須是 HTTPS (Message API 只接受 HTTPS),在網路上很快地發現兩個選擇:
  1. Heroku
  2. ngrok
而我想要快的測試,所以就使用了 ngrok 來當作 Server,架設十分簡易,官方下載程式,打開後輸入指令,就完成了!

就這麼一行指令即可 (port 5000 是因為 Message API 的要求) :
ngrok http -region ap 5000

三、 開始使用 Python

這邊需要安裝幾個套件 (直接 pip 安裝即可):
  1. line-bot-sdk (https://github.com/line/line-bot-sdk-python)
  2. flask
接下來使用 line-bot-sdk 官方的範例程式,就可以開始編寫自己想要的應答規則了!
記得填上自己的 CHANNEL_ACCESS_TOKEN 跟 CHANNEL_SECRET,這兩串值可以在申請好的 Message API 裡找到。

這邊附上我有做修改的地方:
圖一、handle_message 編改

因為想要將資訊記錄在自己的電腦裡,所以就變成這樣寫了,如果沒有要記錄資訊的話,這樣就行了:
圖二、不記錄資訊的 handle_message

這邊有兩個值得注意的地方:

  1. Line 提供的 Emoji-list 裡面給的值要使用chr()轉換,這樣一來即可顯示你想要的 Emoji。
  2. 想要回傳多個訊息(reply multiple message)的話,使用 List 將訊息包起來就行了 (如圖二的57~61行)

留言