Buda LogoBuda

接入 Telegram 機器人

如何在 Buda 中透過長輪詢設定和連接 Telegram 機器人,實現雙向 AI 對話。

接入 Telegram 機器人

Buda 透過長輪詢(long-polling)連接 Telegram,機器人主動從 Telegram 伺服器拉取訊息更新。這意味著您無需設定任何公網 HTTPS 位址或 Webhook URL,只需提供一個 Bot Token,Buda 就會在背景自動維持連線。

步驟 1:透過 BotFather 建立機器人

  1. 開啟 Telegram,搜尋 @BotFather 或直接點擊連結。
  2. 傳送指令 /newbot
  3. 按提示操作:輸入顯示名稱(例如:Buda Assistant),再輸入以 bot 結尾的使用者名稱(例如:buda_assistant_bot)。
  4. BotFather 會回覆您的 Bot Token,格式類似 1234567890:AAFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  5. 複製並妥善保存此 Token — 稍後需要填入 Buda 中。

步驟 2:(可選)設定機器人選項

您可以透過 BotFather 進一步設定機器人:

  • /setdescription — 設定機器人個人資料頁顯示的描述
  • /setcommands — 註冊指令提示,建議設定如下:
    start - 開始或恢復目前會話
    help - 顯示說明資訊
    new - 開啟新會話

步驟 3:在 Buda 中設定頻道

  1. 開啟 Buda 的頻道設定(Channels)(設定 → Channels)。
  2. 點擊新增頻道,提供商選擇 Telegram
  3. 貼上從 BotFather 複製的 Bot Token
  4. 可選填寫標籤並選擇目標 Agent
  5. 點擊連接

儲存成功後,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 會以指數退避策略自動重試連線。

On this page