建立 Telegram Bot
搜尋 BotFather
/start
Telelegram 會列出指令說明/newbot
設定 bot 名稱、並取得 Bot Token
取得 Telegram Bot Chat ID
呼叫 https://api.telegram.org/bot{Token}/getUpdates
因尚無對話紀錄 所以取無資料
{
"ok":true,
"result":[
]
}
回到 Bot 對話介面,傳個訊息,有對話紀錄後
重新呼叫 https://api.telegram.org/bot{Token}/getUpdates
即可取得 ChatID
{
"ok":true,
"result":[
{
"update_id":721899236,
"message":{
"message_id":2,
"from":{
"id":6111545582,
"is_bot":false,
"first_name":"Leo",
"last_name":"Zheng",
"language_code":"zh-hans"
},
"chat":{
"id":6111545582,
"first_name":"Leo",
"last_name":"Zheng",
"type":"private"
},
"date":1701156157,
"text":"HI"
}
}
]
}
取得 Bot
ChatID
6111545582
.Net Core 專案建置、測試
準備一個 .Net Core API 專案 or Console 專案 可供測試即可
- 安裝 Telegram.Bot Nuget 套件
dotnet add package Telegram.Bot -v 19.0.0
- 在此用 API 測試
[HttpGet("SendTelegramBotMsg")]
public async Task<string> SendTelegramBotMsg()
{
var botClient = new TelegramBotClient("6765457318:AAG47n_tNSvTijh8MN24__9hAwDs2zsL94U");
await botClient.SendTextMessageAsync("6111545582", "bot Test");
return "OK";
}
讓 Bot 在頻道發送訊息
- 新建 Telegram 頻道
- 將剛剛 新建的 Bot 設為頻道 Admin
- 查看 頻道 ChatID,網頁版可以查看 ChatID
備註: -2030473502 , 頻道ChatID 開頭前綴需加100,故為 -1002030473502
此時調整程式 ChatID,因發送通知改為發送到群組
[HttpGet("SendTelegramBotMsg")] public async Task<string> SendTelegramBotMsg() { var botClient = new TelegramBotClient("6765457318:AAG47n_tNSvTijh8MN24__9hAwDs2zsL94U"); await botClient.SendTextMessageAsync("-1002030473502", "bot Test to channel"); return "OK"; }
參考文件
telegram訊息推播bot
Telegram 官方文件 - Bot API
轉載請註明來源,若有任何錯誤或表達不清楚的地方,歡迎在下方評論區留言,也可以來信至 leozheng0621@gmail.com
如果文章對您有幫助,歡迎斗內(donate),請我喝杯咖啡