[分享]Telegram 機器人創建token ID 以及群組創建ID 取得方法

2025/3/31 Line 即將結束大家長久以來使用的Line notify 服務改用
Messaging Api 而收費方式原本以為就是算發多少則算多少
但經過群友 接頭大神 史阿法說明後了解到 原來群組裡面多少人就是多少則
這樣的收費就非常可觀了所以只好改用Telegram(後面用TG表示)來弄
至於HA notify 要怎麼弄這個就不考慮了畢竟沒有紀錄可以查詢
當然可以透過其他方式去做文字記錄
可以參考 查理大找到的方式
HomeAssistatnt Notify Log history set

TG請自行安裝而中文化可以參考
蘋果仁TG中文化
也可以直接點選下面網址進行一鍵中文化
TG一鍵中文化
實測過MAC版TG沒問題




因我已經中文化所以會出現這個

參考HA針對TG的官方文件
HomeAssistant TG官方文件
得知我們必須要先用@BotFather去創建屬於我們自己的機器人並取得token
先在搜尋尋找botfather



點選開始就可以開始創建屬於我們自己的機器人

點選開始就會顯示一堆的指令 需要的可以自行研究各個指令的用途這邊就不示範
輸入 /newbot 創建一個新的機器人
這邊需要輸入你要的機器人名稱以及ID

ID的結尾必須要有bot 這個字元
在下面的紅匡中 會有token 請記錄下來 沒記錄下來也沒差後面也可以用指令查詢
上面的紅匡的連結是剛創的聊天機器人
剛創的下面會有個開始按鈕先按下去我這邊是已經按過跳出去又進來的畫面

退回上一層搜尋 getids 這邊可以查詢你帳號的chatid


點下開始就會出現你的資料把 id 記錄下來

到這邊就可以回到HA去做設定
看你要在 configuration.yaml 或者是在 packages
請依照你的習慣去添加 TG的設定
下面為HA官方給的範例

# Telegram Bot
telegram_bot:
  - platform: polling
    api_key: "1117774004:EABQulCACdgkQOTN3hS_5HZwSwxDlekCixr"
    allowed_chat_ids:
      - 44441111
# Notifier
notify:
  - platform: telegram
    name: "sarah"
    chat_id: 44441111

api_key 為在 botfather裡面新增機器人時的 token
chat_id 為在 getids 裡面得到的 id
確認沒有問題就可以重開了
重開完成後到動作這邊



如果沒有訊息出現就是剛剛沒有按 開始 按下去後就可以通知訊息了

到此機器人對個人的通知部分已經完成
現在介紹群組的設定以及取得ID的方式

先進入我們剛剛創建的機器人點選右上角3個點選建立群組




到這邊群組已經建立完成再來就是要取得 chatid
點選紅匡部分

新增 getids bot進群組



這樣就可以取得 chatid
群組的id都是 - 開頭將這組id加到設定裡面

個人的id就可以拿掉了要保留也是可以
設定完成確認沒有問題就可以重開HA
重開完成後就可以回到 開發工具 動作做測試

詳細的設定方法可以到HA官方關於telegram bot的頁面參考

token id請保護好不要外流 免得被人知道去亂搞
另外取得群組的chatid後就可以將getids 從群組移除

以上為TG 個人及群組的 chatid 取得方法
希望能幫到需要的朋友

1個讚

幫補充一下宣告telegram_bot時可多加一行parse_mode: plain_text
不然如果發送的訊息內有底線或是星號時會發送失敗唷!

telegram_bot:
  - platform: polling
    parse_mode: plain_text #加這行避免訊息有底線會發送失敗
    api_key: "1117774004:EABQulCACdgkQOTN3hS_5HZwSwxDlekCixr"
    allowed_chat_ids:
      - 44441111

如果不用上面宣告的話,則是在用notify發送時要加上parse_mode: plain_text避免同樣問題唷!

- action: notify.telegram
  data:
    message: "這是有底線_的訊息"
    data:
      parse_mode: plain_text #要加這行
1個讚