Linebot Django 1

1 minute read

LINE BOT 初學者記錄(一) 1. 申請 LINE BOT 帳號: 開放平台資源,LINE 提供 1 萬個免費「BOT API 試用」帳號申請 可以得出包含以下三個值:

  • Channel ID
  • Channel Secret
  • MID

2.準備 HTTPs Server 一個 https 的 server 的選擇至少有:

  • [Azure](https://azure.microsoft.com/zh-tw/)      
  • heroku
  • RHCloud

**3.LINE config ** **架好 HTTPS server 後至 LINE BOT 填入**

  • Callback URL https://XXXX-server.azurewebsites.net:443/YYYY
  • Server IP Whiltelist x.x.x.x

4.軟體語言都可: 目前只剛學過 Django 於是乎就選它, 選自己想要的程式語言  **5.參考 LINE [官方文件](https://developers.line.me/bot-api/api-reference):** 多看幾次不吃虧 找出 Request(Sending messages)  E.g. 需要代入的格式: Header

  • Content-Type: application/json; charser=UTF-8
  • X-Line-ChannelID: Channel ID
  • X-Line-ChannelSecret: Channel secret
  • X-Line-Trusted-User-With-ACL: Channel MID

Payload

  • toChannel
  • eventType
  • content Object

6.我的流程圖 A. 確認 Request

  1. 先知 LINE Client MID
  2. Local 觸發 URL 發出 Request > LINE server
  3. LINE server > Line Client 確認收到訊息

B. 確認 Response value

  1. Line Client 發出 message(觸發 URL) > LINE server
  2. LINE server > Azure 傳送 Line Client message
  3. Azure > LINE server > Line Client print JSON object 用來確認值(雖然官方已寫清楚格式)
  4. 完成要回傳的內容或想做的事

7.Code(views.py)

7.成果, 自問自答機

  • LINE request : Hello
  • HTTP response: Hello

8.小撇步

  • 練習時, 從自己 LINE 丟訊息並吐出於瀏覽器上, 查看 JSON內格式
  • 開發機與服務機器的 Django 版本最好一致
  • 安裝 Chrome rest 模擬 Line Client 發出的 POST

9.Next

  • 部分程式碼改為更彈性
  • 結合其它系統始發送訊息至 LINE

10.Reference:

11.Get Knowhow:

  • Process between HTTPS server with LINE server 
  • JSON decode & Encode
  • What is Object
  • What is REST
  • UTF8 « in most situation just use it
  • Study LINE BOT official article
  • Python - Tuple, Dictionary+List together
  • Python - Return and HTTPresponse
  • Python - One function do one thing

2016/09/16 剛學會一些 django 一點 python 與朋友來練習做出 LINE BOT 挺有趣的, 比預期花了不少時間在 debug 和思考流程上. 同時也第一次接觸 git 和 Azure. ps.在咖啡廳弄這有宅氣換發的感覺 Remark Official published on 2016.10 Line BOT -> Deprecated !!! 只好改用新的 API 於下一篇記錄

下一篇:  Line Bot - Django - Weather

Leave a comment