如何在 Telegram 群組中與他人共同控制 OpenClaw

要在 Telegram 群組中與他人共同控制 OpenClaw,你需要完成兩個步驟:(1) 建立 Telegram 群組並邀請成員,(2) 調整 OpenClaw 的權限設定來允許多人觸發機器人。

以下是詳細操作流程:


步驟一:建立 Telegram 群組並邀請成員

這是標準的 Telegram 操作,與 OpenClaw 本身無關:

  1. 在現有對話中新增成員:進入你與 OpenClaw 的私人對話 → 點擊右上角「更多」→「建立群組」→ 選擇要邀請的聯絡人
  2. 直接建立新群組:在 Telegram 主介面點擊「新增群組」→ 設定群組名稱 → 邀請 OpenClaw 機器人及其他人
  3. 取得群組連結:進入群組資訊 →「新增成員」→「透過連結邀請」,可複製邀請連結給他人

:warning: 重要:確保 OpenClaw 機器人已被加入該群組,且擁有讀取訊息的權限。


步驟二:設定 OpenClaw 的群組權限

OpenClaw 預設不會回覆群組訊息,或只回覆被標註 (@mention) 的訊息。你需要調整設定來允許多位使用者共同控制。

核心設定概念

OpenClaw 使用分層權限控制 :

設定層級 控制內容
groupPolicy 群組整體政策:"open" (開放)、"allowlist" (白名單)、"disabled" (關閉)
groupAllowFrom 允許觸發機器人的使用者 ID 清單
requireMention 是否需要 @標註機器人才會回覆

推薦設定:白名單模式(最安全)

編輯你的 OpenClaw 設定檔(通常位於 ~/.openclaw/config.json):

{
  "channels": {
    "telegram": {
      "botToken": "你的機器人Token",
      "groupPolicy": "allowlist",  // 只允許特定群組
      "groupAllowFrom": ["123456789", "987654321"],  // 允許的使用者 Telegram ID
      "groups": {
        "*": {
          "requireMention": false   // 不需要@標註,直接回覆所有允許使用者的訊息
        },
        "-1234567890123": {         // 特定群組ID(可選)
          "requireMention": true    // 在特定群組中仍需@標註
        }
      }
    }
  }
}

設定說明

  • groupPolicy: "allowlist":只處理來自白名單使用者的訊息
  • groupAllowFrom:填入你和朋友們的 Telegram 數字 ID(可透過 @userinfobot 查詢)
  • requireMention: false:群組中的任何訊息都會觸發回應(無需 @機器人)

開放模式(較不建議,但最方便)

如果你想讓群組中任何人都能使用(不限於白名單):

{
  "channels": {
    "telegram": {
      "groupPolicy": "open",       // 開放所有群組
      "groups": {
        "*": {
          "requireMention": true   // 建議保留標註要求,避免機器人過度回應
        }
      }
    }
  }
}

步驟三:驗證設定是否生效

  1. 重啟 OpenClaw Gateway

    openclaw restart
    
  2. 在群組中測試

    • 發送 /status 指令查看機器人狀態
    • requireMention 為 true,記得先 @你的機器人名稱 再下指令
  3. 檢查權限(若無回應):

    openclaw doctor
    

    此指令會檢查是否有權限設定衝突或遺漏。


進階:多人協作的最佳實踐

如果你希望實現「團隊協作」場景(例如一人發指令,其他人可查看進度),建議採用以下設定:

{
  "agents": {
    "defaults": {
      "groupChat": {
        "mentionPatterns": ["@openclaw", "openclaw"],
        "historyLimit": 50    // 群組中保留的歷史訊息數量
      },
      "sandbox": {
        "mode": "non-main",   // 群組對話在獨立沙盒中執行,確保安全
        "scope": "session"
      }
    }
  }
}

關鍵功能

  • 會話隔離:群組對話使用獨立的 session key (agent:main:telegram:group:<id>),不會與你的私人對話混亂
  • 回覆追蹤:回覆機器人的訊息會被視為隱式標註(implicit mention),方便接續對話
  • 權限分離:可設定某些工具(如檔案系統存取)僅在私人對話開放,群組中則限制功能

常見問題排查

問題 解決方案
機器人在群組中完全無回應 檢查 groupPolicy 是否為 "disabled",或該群組不在白名單中
只有我能用,朋友發訊沒反應 確認朋友的 Telegram ID 已加入 groupAllowFrom 清單
機器人回覆太多干擾對話 requireMention 設為 true,並教導成員使用 @標註
群組中歷史紀錄混亂 使用 /new/reset 指令重置群組會話

完成以上設定後,你和受邀請的朋友就能在同一個 Telegram 群組中共同向 OpenClaw 發送指令、查看執行結果,實現真正的多人協作控制。