最近看到一篇文章 (Telegram bot notification),提到可以透過 Telegram 來發送 NAS 的系統通知,趕緊依樣畫葫蘆照著試試竟然一次就成功,於是立刻紀錄一下,免得之後又忘了。
-
在Telegram上建立一個通知機器人
- 打開Telegram,在上方搜尋列打入BotFather,找到後點擊BotFather,然後開始跟BotFather進行對話
- 可以閱讀一下連結上的說明,或是打入/start,BotFather會回覆給你很多指令的說明
- 打入/newbot就可以建立一個專屬的通知機器人,接著BotFather會詢問機器人要叫什麼名字 (算是這個通知機器人顯示的暱稱)
- 再來BotFather會請你提供一個用來連結通知機器人的使用者帳號(必須以bot結尾,例如: xxxx_bot),未來在搜尋列敲入這個username就可以找到這個機器人。
- 然後BotFather會產生一組API需使用的Token (請另存起來,等等在 NAS 控制台設定時會用到)
- 然後在Telegram建立一個群組,然後搜尋前面步驟4建立的通知機器人username,然後把這個機器人加入新建立的群組
- 可以順便弄個好看的LOGO
- 為了取得這個新建的群組代號,我們還需要將IDBot這個機器人加入此群組,按下Add Members,然後在搜尋列尋找myidbot,然後將IDBot加入此群組。接著在訊息列中打入指令/getgroupid,IDBot會回覆這個群組的群組代號(請保存下來等等在NAS控制台會需要用到)
- 以上步驟,請保留API Token以及訊息通知的群組代號,下一步會用到
-
在Synology NAS 上新增一個簡訊發送商
- 先依據前面Telegram取得的資訊,組好發送通知的https api url,api 網址格式如下
https://api.telegram.org/bot<這裡貼上步驟5取得的API Token>/sendMessage?chat_id=-<這裡貼上步驟8取得的群組代號,請注意前面有個負號,不要重複貼到了>&text=Hello+world&user=User&password=Password&to=12345678
- 登入DSM,進入控制台–>通知設定,然後在簡訊頁籤先啟用簡訊通知,然後在下方建立一個新的簡訊發送商,並且依照下列步驟進行設定。
- 設定完畢後按下『寄送測試簡訊』,應該就可以收到通知
- 最後記得到控制台–>通知設定的進階設定頁籤裡面把想要通知的系統通知,增加用簡訊進行發送即可。
以上打完收工
後記
由於後來發現簡訊的通知都只有英文內容的通知訊息,於是改換另外一種方式來發送中文內容的通知,可參考透過Telegram接收中文DSM通報一文