接入 Telegram 機器人
如何在 Buda 中透過長輪詢設定和連接 Telegram 機器人,實現雙向 AI 對話。
接入 Telegram 機器人
Buda 透過長輪詢(long-polling)連接 Telegram,機器人主動從 Telegram 伺服器拉取訊息更新。這意味著您無需設定任何公網 HTTPS 位址或 Webhook URL,只需提供一個 Bot Token,Buda 就會在背景自動維持連線。
步驟 1:透過 BotFather 建立機器人
- 開啟 Telegram,搜尋 @BotFather 或直接點擊連結。
- 傳送指令
/newbot。 - 按提示操作:輸入顯示名稱(例如:
Buda Assistant),再輸入以bot結尾的使用者名稱(例如:buda_assistant_bot)。 - BotFather 會回覆您的 Bot Token,格式類似
1234567890:AAFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx。 - 複製並妥善保存此 Token — 稍後需要填入 Buda 中。
步驟 2:(可選)設定機器人選項
您可以透過 BotFather 進一步設定機器人:
/setdescription— 設定機器人個人資料頁顯示的描述/setcommands— 註冊指令提示,建議設定如下:start - 開始或恢復目前會話 help - 顯示說明資訊 new - 開啟新會話
步驟 3:在 Buda 中設定頻道
- 開啟 Buda 的頻道設定(Channels)(設定 → Channels)。
- 點擊新增頻道,提供商選擇 Telegram。
- 貼上從 BotFather 複製的 Bot Token。
- 可選填寫標籤並選擇目標 Agent。
- 點擊連接。
儲存成功後,Buda 會立即在背景開始輪詢 Telegram 的新訊息。伺服器日誌中會出現:
[telegram-bot] Connected polling gateway for channel <id>步驟 4:開始使用
- 私訊:在 Telegram 中搜尋您的機器人使用者名稱,直接傳送任意訊息即可。
- 群組:將機器人加入群組後,
@提及它並傳送訊息(例如:@buda_assistant_bot 今天天氣怎麼樣?)。
可用指令:
| 指令 | 說明 |
|---|---|
/start 或 /help | 顯示歡迎訊息和使用說明 |
/new | 開啟新會話(清除對話上下文) |
/new <訊息> | 開啟新會話並立即傳送訊息 |
注意事項
- 無需 HTTPS:與 Webhook 模式不同,長輪詢在本機開發環境中無需 ngrok 或公網位址即可正常使用。
- 傳送者白名單:可在頻道憑證中設定
allowedSenderIds(逗號分隔的數字 ID),限制只有指定 Telegram 使用者才能與機器人互動。 - 群組模式:在群聊中,機器人只回應直接
@提及它的訊息;私訊中所有訊息均會被處理。 - 自動重連:網路斷線後,Buda 會以指數退避策略自動重試連線。