Telegram 接入——最流行的机器人平台
Hermes 消息平台接入第2篇:Telegram。创建机器人、配置网关、开始聊天。
Telegram 接入——最熱門的機器人平台
要說給 Hermes Agent 找個「家」,Telegram 絕對是最熱鬧的那個選擇。它不只是聊天機器人——你可以在手機上隨時喊它幹活、發語音讓它自動轉文字、定時任務結果直接推給你,甚至拉進群組一起用。而且底層用的是 python-telegram-bot,文字、語音、圖片、檔案通通支援。
第一步:找 BotFather 領個「身分證」
每個 Telegram 機器人都有一個專屬 API Token,相當於它的身分證。去 Telegram 搜 @BotFather(或直接造訪 t.me/BotFather),然後:
- 傳送
/newbot - 取一個顯示名稱(比如 “Hermes Agent”),隨便取
- 再取一個使用者名稱,必須唯一且以
bot結尾(比如my_hermes_bot) - 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_chats 和 group_allowed_chats 要填一樣的群組 ID 才能生效。
搞定這三步,你的 Hermes Agent 就正式進駐 Telegram 了。接下來想讓它幹嘛,就看你的想像力了——定時回報、語音轉寫、群聊協作,它都能接得住。
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/messaging/telegram