LINE Notify:用Google Apps Script,建立簡易網站監測機器人

LINE Notify:用Google Apps Script,建立簡易網站監測機器人

本篇要解決的問題

LINE@ 改為 2.0 後,免費方案的訊息數是 500,500 指的是「人數」,比方群組裡有 10 個人,那推播一則訊息到群組,就會計算為 10,而不是 1。假設群組有 50 個人?我們在上一篇中建立的機器人就只能發個 10 次就沒了。

LINE 機器人像是品牌經營的一個通路,嚴格來說不適合用在狀況回報上。

如果只是要一個訊息通知,LINE 有一個更適合的工具:LINE Notify。

簡單來說就是 LINE 官方建了一隻叫 LINE Notify 的機器人,把這機器人拉進群組裡,就一樣可以用 Google Apps Script 自己寫程式碼來驅動它推播訊息。

本篇就是要筆記如何使用 LINE Notify 的功能,來打造一個簡易的監測網頁回應時間的機器人。

看這篇前建議先看過上一篇:〈LINE bot:用Google Apps Script,建立簡易網站監測機器人〉,因為太多的步驟是一樣的,這邊只會寫幾句帶過,不會再詳細的截圖介紹。

只要會了上一篇,這一篇 Augustus 實際應用時,寫了 10 分鐘不到就完成了。

以下對 Google Apps Script 都簡稱為 GAS、LINE Notify 都簡稱為 Notify。


用 LINE Notify 打造監測網頁機器人流程

  • 取得 token,將 Notify 加進群組
  • GAS 上寫監測的程式碼
  • 設立觸發條件

取得 Notify token

進到 Notify 官網:https://notify-bot.line.me/zh_TW/

點右上角的「登入」,登入自己的 LINE 帳號。

登入後,右上角會寫上自己 LINE 帳號的名字,點擊後出現子選單,再點擊「個人頁面」:

放個廣告賺點養主機的$$,謝謝

點擊個人頁面
點擊個人頁面

進到個人頁面,會看見一項「發行存取權杖」,點擊「發行權杖」:

點擊發行權杖
點擊發行權杖

接下來會看到頁面上問我們這個權杖名稱,跟要發給哪一個群組:

填寫權杖名稱跟指定對象
填寫權杖名稱跟指定對象

權杖名稱不要亂寫,它會影響的是機器人推播訊息時的主題,比方 Augustus 這邊取的叫「網頁監測異常通知」,那之後收到訊息時就會長這樣:

權杖名稱影響訊息
權杖名稱影響訊息

所以不要亂取。

選擇接受通知的聊天室,一組權杖只能給一個聊天室(群組)用,這就區分了 Notify 跟 LINE@ 的不同,不用想拿 Notify 當作社群經營,他主要是通知用的,不是宣傳用的。

選完了要收到通知的聊天室後,會看見頁面上顯示一組權杖,這個權杖就是 token:

取得 token
取得 token

視窗裡也寫了「若離開此頁面,將不會再顯示新發行的權杖。 離開頁面前,請先複製權杖」,所以這組 token 一定一定一定要存下來。

同一時間,LINE 裡面也會收到 Notify 的訊息:

提醒訊息
提醒訊息

訊息就是提醒我們記得把 LINE Notify 加進我們剛指定的群組中,Notify 要在群組裡才能推播訊息。


GAS 上寫監測的程式碼

程式碼部份跟上一篇寫 LINE bot 的幾乎一模一樣,不一樣的是讓機器人發送訊息的部份,官方說明文件在這:https://notify-bot.line.me/doc/en/

推播訊息主要寫在「POST https://notify-api.line.me/api/notify」這段。

發送的方式是用 POST,要帶入我們剛取得的 token 當驗證:

可以傳入的參數有以下:

  • message:訊息內容,最多 1000 個字元
  • imageThumbnail:圖片縮圖,最大240*240px,jpeg檔
  • imageFullsize:圖片的原圖,最大2048*2048,jpeg檔
  • imageFile:傳圖到 LINE server 上,如果 imageThumbnail、imageFullsize、imageFile 都有填,以 imageFile 為優先
  • stickerPackageId:要用哪一組貼圖,填該組貼圖的編號,可用的貼圖組在這 貼圖清單
  • stickerId:那一組貼圖中的哪一個,填該貼圖的編號
  • notificationDisabled:要不要跳出通知

除了 message 是必填,其它都是選填。

Augustus 在 GAS 上寫的程式碼如下:

程式碼寫完後,發布成為網路應用程式,最後設定觸發條件,我們用 LINE Notify 打造的網頁回應時間監測機器人就完成了。


LINE Notify 限制

LINE Notify 畢竟是個免費功能(至少 Augustus 寫這篇時還是),所以有一些限制,不然大家猛 call 就很像在攻擊。

限制的部份官方文件最後一段有寫出:

Augustus 看到後比較在意的是前三句:

There is a limit to the number of times an API can be called on each service.
The default number is set to 1000.
The limit is per access token.

原本有點緊張,以為是不是一個 token 就只能用個 1000 次就不能用了,是的話不就代表通知發到 1000 次就沒了?

後來實際測了一下,1000 次指的是 1 小時內的次數,1 小時內可以讓 Notify 推播 1000 次消息。

如果只是想做些通知,LINE Notify 很適合,官網上也寫了可以接上 Github,當有提交時也能推播。如果想要一些訊息通知可以考慮使用。


參考資源

LINE Notify API Document

自建 LINE Notify 訊息通知

Summary
LINE Notify:用Google Apps Script,建立簡易網站監測機器人
Article Name
LINE Notify:用Google Apps Script,建立簡易網站監測機器人
Description
本篇大綱:本篇要解決的問題。用 LINE Notify 打造監測網頁機器人流程。取得 Notify token。GAS 上寫監測的程式碼。LINE Notify 限制。如果只是要一個訊息通知,LINE 有一個更適合的工具:LINE Notify。
Augustus
Let's Write
Let's Write
https://letswrite.tw/wp-content/uploads/2020/08/logo_512.jpg
訂閱
通知
guest
0 Comments
Inline Feedbacks
看所有留言