python
Line
Bot
api
試試看這個 line-bot吧!
在上個課程中我們測試了傳給LineBOT的文字訊息時會觸發 MessageEvent, message=TextMessage ,回傳時也是文字訊息。 這次我們要練習回傳一項或多項的文字、圖片、貼圖、位置、聲音、影片與快速選單。 官方文件(https://developers.line.biz/en/reference/messaging-api/#text-message)
在下方程式中 TextSendMessage 不用再輸入type參數
在下方程式中 ImageSendMessage 不用再輸入type參數
在下方程式中 StickerSendMessage 不用再輸入type參數
貼圖所在位置 https://developers.line.biz/en/docs/messaging-api/sticker-list/#sticker-definitions
在下方程式中 LocationSendMessage 不用再輸入type參數
在下方程式中 AudioSendMessage 不用再輸入type參數,接收 m4a檔
在下方程式中 VideoSendMessage 不用再輸入type參數
建立一個linebot2.py檔(這個範例使用Flask框架)
並複製以下程式碼, 記得要改成你自己的Token&Secret
在開發階段要加上debug可使得flask具備Hot reload功能,不需要一直關閉與重啟。
用 ngrok 產生外部鏈結,並在Line的開發網頁中填入這個的Webhook URL (http://URI/callback2) 打開Line,加入這個LineBot,測試一下… 它會在server中出現相關 log(紀錄)
將程式推送到deta.sh中,方法可參閱
將LineBot發布到 Deta.sh 中
我現在所有的linebot都放在這裡…這個bot也是!
先在專案中安裝 gunicron (pip install gunicorn) 再執行
若一切正常,則可以推到背景執行(登出後依然會執行)
其中 (-b 0.0.0.0:port)-ipv4 (-b [::1]:port)-ipv6
可用下列指令查看使用者userid在背景中執行的程式
將下面的config.json 寫入unit設定中
curl -X PUT --data-binary @config.json --unix-socket /var/run/control.unit.sock http://localhost/config
參考資料: ![reference]: https://qiu-yan-ming.gitbook.io/python-chatbot/shi-yong-line-bot-sdk