用C#開發LINE Bot(35) - 使用 Command Line 發送免費的LINE推播訊息

在command lin(命令列)e發送LINE Notify的免費推播訊息,我想實現這個功能很久了,因為身為系統管理與開發人員,在許多系統管理與維運場合我都會用到。

先來看看執行結果,你可以在命令列中執行底下指令,它會讓你免費發送一則 LINE Notify 訊息給你指定的(訂閱你的通知)的用戶(或群組):

C:\> line notify -n C02hfClbZuqo9cKQk4uckWQdGLYJBgHNKpldgL1ialx -m "test"
{"status":200,"message":"ok"}

上面這段命令中,-n後面的參數是LINE Notify Token,代表某個訂閱者(或群組),而 -m 後面的參數則是你要發送的訊息。

上面指令的執行結果如下:

要怎麼實現呢? 其實很容易。不管是MAC或是PC/Linux環境,你只需要先安裝好 dotnet core 3.1 SDK, 然後執行底下指令:
C:\> dotnet tool install --global line.cli

這會在你的環境上安裝好 LINE CLI,你會看到類似底下的訊息:
您可以使用下列命令來叫用工具: line
已成功安裝工具 'line.cli' ('1.0.15' 版)。


接著,就可以透過底下這樣的指令免費發送訊息給特定用戶了。
C:\> line notify -n C02hfClbZuqo9cKQk4uckWQdGLYJBgHNKpldgL1ialx -m "test"

除了可以發送文字訊息,當然也可以發送貼圖,類似底下這樣:
C:\> line notify -n C02hfClbZuqo9cKQk4uckWQdGLYJBgHNKpldgL1ialx -s 1,2

也可以發送特定圖片:
C:\> line notify -n C02hfClbZuqo9cKQk4uckWQdGLYJBgHNKpldgL1ialx -i [https://圖片url]

請留意上面 -n 後面的參數是 LINE Notify token,這是訂閱你的LINE Notify通知的用戶。是的,本質上它是透過LINE Notify技術來實現,我們曾經介紹過很多次LINE Notify,你可以參考過去我們的介紹。透過簡單的網頁設計,你可以引導用戶訂閱你的LINE Notify服務(當然你必須先申請好LINE Notify服務,這也都是免費的),並透過你建立的網頁來取得訂閱者的Token。

不知道怎麼申請LINE Notify,不會寫網站? 通通沒關係…

不過,即便你不是網頁開發人員,不熟悉網頁設計,也可以免費使用LINE Notify做為系統通知、客戶服務…等機制,我們建立了一個協助非開發人員使用 LINE Notify 的後台網站,你可以直接點選[這裡],先點選左上角的[重新登入]用你的LINE帳號登入:

完成登入後,依照『設定新的 LINE Notify Service』步驟1,2,3,就可以建立好一個LINE Notify服務,並取得訂閱QR Code,將QR Code提供給用戶『以LINE App』掃描,即可讓用戶訂閱你的通知:

一般來說,我們會為我們提供的每一個服務(例如客戶通知訊息、網站通知訊息…etc.)建立一個LINE Notify,例如下圖就建立了兩個。(但建議你用不同的服務名稱,以方便區分)

完成後,你可以點選底下[訂閱連結]取得訂閱QR Code:

然後,在你自己的網站或系統中,透過訂閱連結或是QR Code讓用戶訂閱(如果採用QR Code,用戶可以透過LINE App掃描該QR Code即可訂閱),當用戶訂閱了你的通知,未來你就可以在[發送訊息]的功能中,統一發送訊息給訂閱你通知的用戶。

在[發送訊息]功能頁面中,你就會看到LINE Notify Token:

接著可以自行寫程式或透過剛才我們介紹過的命令列的方式來發送訊息給特定用戶囉。

我時常使用此功能在command line script中作為 DevOps或IT系統的即時訊息通知,不僅完全免費、發送迅速、比簡訊更快速方便。

hope it helps.

-----------

線上課程:https://www.udemy.com/line-bot/
最新實體課程:http://www.studyhost.tw/NewCourses/LineBot
電子書:http://studyhost.blogspot.tw/2017/12/line-bot.html 
實體書:https://www.tenlong.com.tw/products/9789865022662?list_name=srh
LineBotSDK:https://www.nuget.org/packages/LineBotSDK
如果需要即時取得更多相關訊息,可按這裡加入FB專頁。若這篇文章對您有所幫助,請幫我們分享出去,謝謝您的支持。

留言

這個網誌中的熱門文章

使用 Airtable 在小型需求上取代傳統資料庫

使用Semantic Kernel 建立自然語言請假系統

精彩(且驚人)的Semantic Kernel入門範例

在 LINE Bot 開發中使用Semantic Kernel建立自然語言請假系統

專業的價值...