iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
DevOps

一個n8n免費仔的踩雷告白系列 第 24

鐵人賽 day24 - 取得 Telegram Chat ID

  • 分享至 

  • xImage
  •  

Hello,我是 KK,今年的鐵人賽,想跟大家分享架設 n8n 遇到的一些挑戰跟意外,就讓我們一起學習吧。

我們在 [[鐵人賽 day23 - 設定 n8n Telegram Node]] 取得了 Telegram 的 bot token,但真的要傳訊息的時候,它的 node 裡有一個 chat ID 的欄位要填。
https://ithelp.ithome.com.tw/upload/images/20251008/20161625rfSXowANMx.png

這個 Chat ID 就是當 bot 要主動傳訊息時,決定到底要傳給哪個人或哪個群組用的。
那我們該怎麼取得這個 Chat ID 呢?這裡提供兩種方式。

透過瀏覽器取得 Chat ID

首先,我們要先跟自己建的 bot 講話,隨便打個字給它。
然後,打開瀏覽器,網址輸入 https://api.telegram.org/bot{{token}}/getUpdates ,{{token}} 要改成我們昨天拿到的 bot token。
在回傳的訊息中,就可以看到chatid,路徑是 message.from.id
https://ithelp.ithome.com.tw/upload/images/20251008/20161625Ri4ZsGLw7W.png
如果說你要讓 bot 傳訊息到群組的話,要先將 bot 加到群組內,並給予管理者權限,然後一樣在群組裡講話就行了。只是群組是取 message.chat.id 的值。

n8n trigger

既然我們前面都架好了 n8n,也設定好了 credential,那也能很輕鬆的透過 n8n 來取得相同的資訊。
在 [[鐵人賽 day15 - workflow 的建立與匯出]] 裡建立 workflow 的 trigger,之前我們是用手動或是 schedule,這次我們在搜尋欄填 telegram,就會出現相關的 trigger
https://ithelp.ithome.com.tw/upload/images/20251008/201616252TYbp5VhCA.png

我們選 On message,然後設定對應的 Telegram Credential。再按下左邊的 Execute Step 的橘色按鈕。
https://ithelp.ithome.com.tw/upload/images/20251008/20161625jur3ins6ud.png

沒問題的話,應該會看到這個畫面,那就代表現在 n8n 已經在監控這個 bot 的對話訊息了。然後我們一樣跟 bot 講兩句話,應該很快在右邊就會出現相似的資料。
https://ithelp.ithome.com.tw/upload/images/20251008/20161625vUuPLO6l8b.png
也是一樣的路徑 message.from.id

只是要注意的是,Telegram 一次只能接受一個服務監聽。如果你有多個 workflow 都需要監聽訊息,可能要建多個 bot 或是用一些分流手法。同時測試的時候,正式環境的也會被中斷。


今天講的兩個手法,大家可以自行決定要用哪個。我會建議第二個,因為可以剛好測試 Telegram Credential 有沒有設定正確,而且 n8n 也已經排版過了,比較一目了然。


上一篇
鐵人賽 day23 - 設定 n8n Telegram Node
系列文
一個n8n免費仔的踩雷告白24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言