DJANGO WEBHOOK

      在〈DJANGO WEBHOOK〉中尚無留言

Hook 是掛勾的意思,WebHook 是指 Line Bot 要跟我們的網頁掛勾。

先前準備

閱讀本篇前,需要先架設 Nginx/Django 伺服器,並且要有自已的網域並使用 SSL 加密憑証。

上一篇的 Line BOT 簡介中,BOT 可以自動回覆訊息,但功能極為陽春。雖然也可以設定 AI 自動回覆訊息,但這功能將於 2024/05/15 停用。

所以我們必需架設一台伺服器,分析客戶端傳入的內容才決定要如何回應,最終將回應訊息透過 BOT 傳送給客戶端手機,示意圖如下。

Line Channel access token 

在底下的伺服器代碼中,有二個很重要的變數要設定,分別是 Line Channel acccess token 及 Line secret。因為 Line 網站上查詢這二個變數的位置有變,所以先說明一下取得的方式。

請先由 https://developers.line.biz/zh-hant/ 選擇 Console,再按下 Messaging API。

接下來再選擇 Messageing API 分頁

往下拉後,會看到 Channel access token,第一次需按下 issue 按鈕產生新的 access token,日後若要變更,可以按下 Reissue。請把 access token 複製記下,等會要填入 python 代碼中的 access_token 變數。

再切換到 Basic settings 分頁

往下拉即可看到 Channel secret,此數字也需記要,要填入後面 python 代碼的 secret 變數中。

Line BOT 設定

請進入 Line BOT 網站的設定/Messaging API,將聊天關掉,Webhook 打開。

新增Django Web Server

在 /server 下使用如下指令新增 Web Server。

🔒 更多內容,請登入會員繼續閱讀。

立即登入

上述可以取得客戶端的 id、訊息型態及訊息資料等資訊。

回傳訊息到客戶端

底下的代碼可以在取得客戶端訊息後,立即回傳訊息回客戶端。

🔒 更多內容,請登入會員繼續閱讀。

立即登入

line_bot_api.reply_message 不會浪費額度,但只能回傳一次。
line_bot_api.push_message 則會浪費額度,但可以回傳好幾次。

天氣預報

底下的代碼可以取得預報天氣的資料。

🔒 更多內容,請登入會員繼續閱讀。

立即登入

地震速報

地震速報需先到 https://opendata.cwa.gov.tw/index 註冊並取得 access token。然後再以底下的代碼查詢地震資料。

🔒 更多內容,請登入會員繼續閱讀。

立即登入

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *