🤖HermesBlog
Hermes 消息平台接入 · 第2篇2026/8/9· Easy Understand Hermes Agent

Telegram 接入——最流行的机器人平台

Hermes 消息平台接入第2篇:Telegram。创建机器人、配置网关、开始聊天。

messaging-telegram

Telegram 接入——最熱門的機器人平台

要說給 Hermes Agent 找個「家」,Telegram 絕對是最熱鬧的那個選擇。它不只是聊天機器人——你可以在手機上隨時喊它幹活、發語音讓它自動轉文字、定時任務結果直接推給你,甚至拉進群組一起用。而且底層用的是 python-telegram-bot,文字、語音、圖片、檔案通通支援。

第一步:找 BotFather 領個「身分證」

每個 Telegram 機器人都有一個專屬 API Token,相當於它的身分證。去 Telegram 搜 @BotFather(或直接造訪 t.me/BotFather),然後:

  1. 傳送 /newbot
  2. 取一個顯示名稱(比如 “Hermes Agent”),隨便取
  3. 再取一個使用者名稱,必須唯一且以 bot 結尾(比如 my_hermes_bot
  4. BotFather 會回你一串 Token,長這樣:
123456789:ABCdefGHIjklMNOpqrSTUvwxYZ

⚠️ Token 等於你機器人的命根子,誰拿到誰就能控制它。萬一外洩了,立刻找 BotFather 傳 /revoke 吊銷重來。

第二步:給機器人「打扮」一下(可選)

想讓機器人更專業?給 BotFather 傳這些指令:

指令 作用
/setdescription 設定使用者開聊前看到的「它能幹嘛」
/setabouttext 機器人主頁的簡介
/setuserpic 上傳大頭貼
/setcommands 定義聊天框裡的 / 指令選單
/setprivacy 控制群聊裡能否看到所有訊息(見第三步)

/setcommands 建議先放這幾個:

help - Show help information
new - Start a new conversation
sethome - Set this chat as the home channel

線上狀態小彩蛋(可選)

Telegram 機器人沒有那個「綠點」線上標示——那是真人帳號才有的。但 Hermes 有個變通方案:把機器人的簡介文字改成「線上/離線」。在設定裡開啟:

gateway:
  platforms:
    telegram:
      extra:
        status_indicator: true
        status_online: "🟢 Online"
        status_offline: "🔴 Offline"

注意:這個狀態是全域可見的,而且只有正常關閉(比如 /stop)才會顯示「離線」,直接斷電當機的話會停在最後的狀態。

指令選單上限(可選)

Hermes 啟動時會自動註冊指令選單,預設最多 60 條(Telegram 上限 100,但太多容易出錯)。如果你有外掛指令想優先顯示:

platforms:
  telegram:
    extra:
      command_menu:
        max_commands: 60
        priority_mode: prepend  # prepend | append | replace
        priority:
          - my_plugin_command

prepend 把你的指令放前面,append 放後面,replace 就只用你自己的清單。

第三步:隱私模式——群聊的「坑」之王

這是新手最容易踩的坑。Telegram 機器人預設開啟隱私模式,這表示在群組裡它只能看到:

  • / 開頭的指令訊息
  • 直接回覆它訊息的內容
  • 成員進出、置頂等系統訊息
  • 它是管理員的頻道訊息

關掉隱私模式後,群組裡每則訊息它都能收到。操作路徑:BotFather → /mybots → 選你的機器人 → Bot Settings → Group Privacy → Turn off

⚠️ 改完設定後,必須把機器人移出群組再重新拉進來,否則 Telegram 不會重新整理狀態。

💡 不想關隱私模式?那就把機器人設為群組管理員,管理員永遠能收到所有訊息,還不用動全域設定。

進階玩法:只聽不說

想讓機器人「豎著耳朵聽」但「不亂插嘴」?設定成這樣:

telegram:
  allowed_chats:
    - "-1001234567890"
  group_allowed_chats:
    - "-1001234567890"
  require_mention: true
  observe_unmentioned_group_messages: true

這樣機器人會把群組裡沒 @ 它的訊息記入上下文,但不會自動回覆。等有人真正 @ 它時,它已經「默默聽完」了整場討論,回答起來更有上下文。注意 allowed_chatsgroup_allowed_chats 要填一樣的群組 ID 才能生效。


搞定這三步,你的 Hermes Agent 就正式進駐 Telegram 了。接下來想讓它幹嘛,就看你的想像力了——定時回報、語音轉寫、群聊協作,它都能接得住。

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/messaging/telegram