如何使用 Telegram 傳送通知給自己
前言
有時候我們會希望程式在某些事情發生的時候,自動發一則通知給自己,像是排程跑完了、伺服器掛了、或是有人填了表單之類的。
Telegram 其實有提供很方便的 BOT API,做法很簡單,就是用程式發一個 POST 請求去打 Telegram 的 API,就能讓 BOT 傳訊息給你了。
申請 Telegram Bot
- 在 Telegram 搜尋 @BotFather 並開啟對話。
- 輸入
/newbot,依照指示設定 Bot 的名稱與 username。 - 建立完成後,BotFather 會給你一組 BOT Token,格式大概長這樣:
123456789:ABCdefGHIjklMNOpqrsTUVwxyz
請妥善保存,這就是你的 TELEGRAM_BOT_TOKEN。
取得 Chat ID
- 在 Telegram 搜尋你剛建立的 Bot,點「Start」開始對話。
- 隨便傳送一則訊息給 Bot(例如
hello)。 - 在瀏覽器開啟以下網址(把
<BOT_TOKEN>換成你的 Token):
https://api.telegram.org/bot<BOT_TOKEN>/getUpdates
- 在回傳的 JSON 中找到
chat.id,這就是你的TELEGRAM_CHAT_ID,格式大概長這樣:
1234567890
用 API 傳送訊息 (POST)
curl 寫法
curl -X POST "https://api.telegram.org/bot<BOT_TOKEN>/sendMessage" \
-H "Content-Type: application/json" \
-d '{"chat_id": "<CHAT_ID>", "text": "Hello from Telegram Bot!"}'
Google Apps Script 寫法
const TELEGRAM_BOT_TOKEN = '123456789:ABCdefGHIjklMNOpqrsTUVwxyz';
const TELEGRAM_CHAT_ID = '1234567890';
function sendNotify(content){
UrlFetchApp.fetch(`https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage`, {
'method': 'post',
'payload': {
"chat_id": TELEGRAM_CHAT_ID,
"text": content
}
});
}