尚未安裝 OpenClaw?點此查看一鍵安裝指令
curl -fsSL https://openclaw.ai/install.sh | bash
iwr -useb https://openclaw.ai/install.ps1 | iex
curl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
擔心影響電腦?ClawTank 免安裝雲端運行,免除誤刪風險
Key Findings
  • Discord 擁有超過 2 億月活躍用戶,是遊戲、開源專案與技術社群的首選溝通平台——與 OpenClaw 串接後,AI 代理能直接在伺服器頻道中回應成員提問、執行自動化任務並管理社群[6]
  • 完整串接流程涵蓋五大步驟:建立 Discord Application → 建立 Bot 並取得 Token → 配置 Gateway Intents → 將 Token 寫入 OpenClaw → 完成 Pairing 配對驗證,全程約 15–20 分鐘[1][2]
  • Gateway Intents 是 Discord Bot 的核心權限機制——你必須在 Developer Portal 與 OpenClaw 兩端同時啟用正確的 Intents,Bot 才能讀取訊息內容與成員資訊[3]
  • 透過 OpenClaw 的 groupPolicy 搭配 Discord 的角色權限系統,管理員可精確控制哪些頻道允許 AI 代理回應、哪些成員可以觸發指令,實現企業級的存取控制[7]
  • Slash Commands 與互動元件(Buttons、Select Menus)讓社群成員無需記憶任何指令語法,透過圖形化介面即可驅動 AI 代理完成複雜工作流[9]

一、為什麼選擇 Discord × OpenClaw?

Discord 已從早期的遊戲語音工具演變為涵蓋開源社群、教育團隊、企業內部協作與創作者經濟的全方位溝通平台。根據 Discord 2025 年度透明度報告,平台月活躍使用者突破 2 億,每日訊息量超過 40 億則。[6] 對於經營技術社群、開源專案或學習型組織的團隊而言,Discord 是不可或缺的基礎設施。

將 OpenClaw AI 代理嵌入 Discord 伺服器後,你的社群將獲得以下能力:[8]

相較於 Telegram 的個人遠端控制場景Slack 的企業工作流場景,Discord × OpenClaw 的整合最適合社群管理、開源專案支援與大規模多人互動。以下將從零開始完整介紹串接流程。

二、前置準備

在開始 OpenClaw Discord 設定之前,請確認以下環境與權限已就緒:[4]

2.1 Discord 端需求

2.2 OpenClaw 端需求

檢查 Gateway 狀態:

openclaw gateway status

如果 Gateway 尚未啟動:

openclaw gateway start

2.3 網路需求

Discord Bot 使用 WebSocket 與 Discord 伺服器保持持久連線。OpenClaw Gateway 僅需要出站 HTTPS(443)連線即可運作——不需要開放入站端口,也不需要公開 IP 位址。這使得 Discord 整合在防火牆或 NAT 環境下同樣可以正常運作。[5]

三、步驟一:建立 Discord Bot 與取得 Token

這是整個 openclaw discord 設定流程的基礎——在 Discord Developer Portal 上建立一個 Application 與 Bot,並取得必要的認證 Token。[2]

3.1 建立 Discord Application

  1. 前往 discord.com/developers/applications
  2. 點選右上角 「New Application」
  3. 輸入 Application 名稱(例如 OpenClaw Agent)——這個名稱會顯示為 Bot 的預設使用者名稱
  4. 勾選同意 Discord 開發者服務條款,點選 「Create」

建立完成後,你會進入 Application 的 General Information 頁面。記下 Application ID(後續邀請 Bot 時會用到)。

3.2 建立 Bot 並取得 Token

  1. 在左側選單中點選 「Bot」
  2. 如果尚未建立 Bot,點選 「Add Bot」「Yes, do it!」
  3. Bot 建立完成後,點選 「Reset Token」 來產生新的 Bot Token
  4. 複製產生的 Token 並妥善保管

Bot Token 的格式類似:

MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.G1a2B3.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890

重要安全提醒:Bot Token 等同於 Bot 的完整存取密鑰——擁有它的任何人都可以控制你的 Bot。切勿在公開場合(GitHub、Discord 頻道、截圖)中暴露 Token。如果 Token 不慎洩漏,請立即在 Developer Portal 中 Reset Token。[7]

3.3 配置 Bot 選項

在 Bot 頁面中,還有幾個重要選項需要配置:

選項建議設定說明
Public Bot關閉關閉後,只有你(Application Owner)可以將 Bot 邀請到伺服器。防止他人未經授權將你的 AI Bot 加入其他伺服器
Requires OAuth2 Code Grant關閉OpenClaw 不需要 OAuth2 授權流程,保持關閉即可
Message Content Intent開啟必須開啟,否則 Bot 無法讀取訊息內容(詳見第五節 Gateway Intents 配置)
Server Members Intent視需求開啟如果你的代理需要查詢成員資訊或實作角色權限檢查,需要開啟
Presence Intent關閉除非你的代理需要感知成員的上線/離線狀態,否則保持關閉以節省資源

3.4 邀請 Bot 到伺服器

在左側選單中點選 「OAuth2」「URL Generator」

  1. Scopes 區塊勾選 botapplications.commands
  2. Bot Permissions 區塊勾選以下權限:
權限用途必要性
Send Messages代理在頻道中發送回覆必要
Send Messages in Threads代理在討論串中回覆必要
Read Message History讀取頻道歷史訊息以取得上下文必要
View Channels看到伺服器中的頻道列表必要
Embed Links發送 Rich Embed 格式回覆建議
Attach Files代理上傳檔案到頻道選配
Add Reactions代理為訊息添加表情符號選配
Use Slash Commands註冊與回應 Slash Commands建議
Manage Threads建立、歸檔與管理討論串選配
Create Public Threads建立公開討論串選配
Manage Messages代理刪除或釘選訊息(內容審核用)進階
  1. 頁面底部會生成一個邀請 URL——複製它,在瀏覽器中開啟
  2. 選擇你要將 Bot 加入的伺服器,點選 「Authorize」

授權完成後,你的 Discord 伺服器中會出現這個 Bot 成員(預設為離線狀態,等 OpenClaw Gateway 啟動後才會上線)。

四、步驟二:OpenClaw 端設定(config set)

取得 Discord Bot Token 後,接下來要將它寫入 OpenClaw 的配置,讓 Gateway 能夠以你的 Bot 身份連線到 Discord。[1]

4.1 設定 Bot Token

openclaw config set channels.discord.botToken "你的_DISCORD_BOT_TOKEN"

4.2 啟用 Discord 頻道

openclaw config set channels.discord.enabled true

4.3 設定 Application ID(選配)

部分進階功能(如 Slash Commands 自動註冊)需要 Application ID:

openclaw config set channels.discord.applicationId "你的_APPLICATION_ID"

4.4 設定 Guild ID(選配,開發建議)

在開發階段,可以指定單一伺服器的 Guild ID,讓 Slash Commands 只在該伺服器中註冊(即時生效,不需要等待全域傳播):

openclaw config set channels.discord.guildId "你的_GUILD_ID"

提示:開啟 Discord 開發者模式後,對伺服器名稱按右鍵 → 「複製伺服器 ID」即可取得 Guild ID。

4.5 驗證設定

使用以下指令確認所有 Discord 相關設定正確寫入:

openclaw config get channels.discord

預期輸出:

{
"enabled": true,
"botToken": "MTIz****",
"applicationId": "1234567890123456789",
"guildId": "9876543210987654321"
}

4.6 重啟 Gateway 並驗證連線

openclaw gateway restart

觀察 Gateway 日誌確認 Discord 連線成功:

openclaw logs --follow --limit 20

如果看到類似 [discord] Bot connected as OpenClaw Agent#1234 的訊息,表示 Bot 已成功上線。此時回到 Discord,你應該能看到 Bot 的狀態從離線變為上線。

4.7 完成 Pairing 配對

Bot 上線後,還需要完成 Pairing 配對驗證——這是 OpenClaw 確保只有授權使用者能控制代理的安全機制。[10]

  1. 在 Discord 中向你的 Bot 發送一條私訊(DM)
  2. Bot 會回覆「Pairing Required」並顯示配對碼
  3. 在終端機中執行:
# 查看待配對的裝置
openclaw pairing list

# 批准配對
openclaw pairing approve

配對完成後,你就可以在 Discord 中與 AI 代理正常互動了。

五、Gateway Intents 配置

Gateway Intents 是 Discord API 的核心權限機制,決定了 Bot 可以接收哪些類型的事件資料。這是 openclaw discord 設定中最容易出錯的環節——你必須在 Discord Developer Portal 與 OpenClaw 設定中同時啟用對應的 Intents,否則 Bot 會無法接收訊息。[3]

5.1 Intent 類型總覽

Discord 將 Intents 分為兩類:

類型說明是否需要申請
Standard Intents基本事件(頻道建立/刪除、角色變更等),預設全部啟用不需要
Privileged Intents敏感資料(訊息內容、成員清單、在線狀態),需要手動啟用Bot 在超過 100 個伺服器時需向 Discord 申請

OpenClaw 的 Discord Bot 通常需要以下 Privileged Intents:

Intent功能必要性
MESSAGE_CONTENT讀取訊息的實際文字內容。未啟用時,Bot 只能收到訊息事件但無法讀取內容必要
GUILD_MEMBERS取得完整成員清單與成員加入/離開事件角色權限控制時需要
GUILD_PRESENCES取得成員的上線/離線/忙碌等狀態選配

5.2 在 Developer Portal 啟用 Privileged Intents

  1. 前往 Developer Portal → 選擇你的 Application → 左側選單點選 「Bot」
  2. 向下捲動到 「Privileged Gateway Intents」 區塊
  3. 開啟 Message Content Intent(必要)
  4. 根據需求開啟 Server Members Intent 與 Presence Intent
  5. 點選 「Save Changes」

5.3 在 OpenClaw 端配置 Intents

OpenClaw 允許你透過 config 精確指定需要的 Intents:[1]

# 啟用 MESSAGE_CONTENT Intent(必要)
openclaw config set channels.discord.intents.messageContent true

# 啟用 GUILD_MEMBERS Intent(角色權限控制時需要)
openclaw config set channels.discord.intents.guildMembers true

# 啟用 GUILD_PRESENCES Intent(通常不需要)
openclaw config set channels.discord.intents.guildPresences false

設定完成後重啟 Gateway:

openclaw gateway restart

常見錯誤:如果你在 Developer Portal 中開啟了某個 Privileged Intent,但沒有在 OpenClaw 設定中同步啟用(或反過來),Gateway 日誌會出現 Disallowed intents 錯誤。務必確保兩端設定一致。

六、頻道權限與 Group Policy(allowlist / denylist)

在大型社群中,你通常不會希望 AI 代理在所有頻道都回應——這會造成資訊噪音並增加運算成本。OpenClaw 提供了精細的 groupPolicy 機制,讓你精確控制代理的行為範圍。[7]

6.1 DM Policy(私訊政策)

控制誰可以透過 Discord 私訊與代理互動:[1]

openclaw config set channels.discord.dmPolicy "owner_only"

6.2 Group Policy(伺服器頻道政策)

這是 openclaw discord grouppolicy 的核心配置——決定代理在伺服器中的回應範圍:

Policy行為適用場景
allowlist代理只在白名單頻道中回應大型社群——將代理限制在特定頻道(如 #ai-help)
denylist代理在所有頻道回應,除了黑名單頻道小型伺服器——僅排除少數不適合的頻道(如 #off-topic)
all代理在所有頻道中回應專用伺服器——所有頻道都需要 AI 支援
none代理不在任何頻道回應(僅回應 DM 與 Slash Commands)僅用於 Slash Commands 模式
# 設定 Group Policy 為 allowlist 模式
openclaw config set channels.discord.groupPolicy "allowlist"

# 新增允許的頻道 ID
openclaw config set channels.discord.allowedChannels '["1234567890123456789", "9876543210987654321"]'

如果使用 denylist 模式:

openclaw config set channels.discord.groupPolicy "denylist"
openclaw config set channels.discord.deniedChannels '["1111111111111111111"]'

6.3 結合 Discord 角色權限

除了 OpenClaw 自身的 groupPolicy 之外,你也應該善用 Discord 原生的角色權限系統來強化安全性:

  1. 建立專用角色:為 Bot 建立一個 @AI Agent 角色
  2. 頻道權限覆蓋:在不希望代理回應的頻道中,為 @AI Agent 角色設定「Send Messages = Deny」
  3. 分層控制:OpenClaw groupPolicy 控制代理是否處理該頻道的訊息,Discord 角色權限控制代理是否能夠在該頻道發送訊息——兩層防護確保安全

6.4 使用者層級的存取控制

OpenClaw 的 allowlist 不僅可以控制頻道,還可以控制使用者:

# 設定只有特定使用者可以觸發代理
openclaw config set channels.discord.allowedUsers '["USER_ID_1", "USER_ID_2"]'

搭配 Discord 角色,你可以實現更靈活的策略——例如只允許擁有 @AI User 角色的成員與代理互動。

七、Slash Commands 與互動元件

Discord 的 Slash Commands 讓使用者透過 / 前綴指令與 Bot 互動,提供自動補全、參數提示與圖形化介面,大幅降低操作門檻。[9]

7.1 OpenClaw 預設 Slash Commands

OpenClaw 在啟用 Discord 整合後,會自動註冊一組預設的 Slash Commands:

指令功能說明
/ask向 AI 代理提問支援 question 參數,將問題直接傳給代理處理
/status查詢代理狀態回報代理是否在線、當前模型、回應延遲等資訊
/clear清除對話歷史重設代理的對話上下文
/model切換 AI 模型在可用的 LLM 之間切換(例如從 GPT-4o 切換到 Claude Sonnet)
/help顯示可用指令列出所有可用的 Slash Commands 與說明

7.2 自訂 Slash Commands

你可以透過 OpenClaw 的 Skill 系統定義自訂的 Slash Commands:

# 在代理的 Skill 配置中定義自訂指令
openclaw config set agents.default.skills.discord.commands '[
{
  "name": "summarize",
  "description": "摘要指定頻道最近的對話",
  "options": [
    {
      "name": "channel",
      "type": "CHANNEL",
      "description": "要摘要的頻道",
      "required": true
    },
    {
      "name": "count",
      "type": "INTEGER",
      "description": "要摘要的訊息數量(預設 50)",
      "required": false
    }
  ]
},
{
  "name": "report",
  "description": "生成社群活躍度報告",
  "options": [
    {
      "name": "period",
      "type": "STRING",
      "description": "報告期間",
      "required": true,
      "choices": [
        {"name": "今日", "value": "today"},
        {"name": "本週", "value": "week"},
        {"name": "本月", "value": "month"}
      ]
    }
  ]
}
]'

7.3 互動元件(Buttons 與 Select Menus)

OpenClaw 的 Discord 整合支援 Interactive Components,讓代理回覆中包含可點選的按鈕與下拉選單:

這些互動元件讓 Discord AI Bot 的使用體驗從「輸入指令」進化為「圖形化操作」,特別適合非技術背景的社群成員。[9]

八、Thread 與 Forum 管理

Discord 的 Thread(討論串)與 Forum Channel(論壇頻道)是管理長期對話與主題式討論的核心功能。OpenClaw 代理能在這兩種場景中保持上下文連貫的多輪對話。[1]

8.1 Thread 中的對話

當使用者在 Thread 中 @mention 代理時,代理會自動讀取整個 Thread 的歷史訊息作為上下文,而不僅僅是最新一則訊息。這讓代理能夠:

8.2 自動建立 Thread

你可以設定代理在特定頻道中自動將每次對話封裝到 Thread 中,避免主頻道被 AI 回覆淹沒:

openclaw config set channels.discord.autoThread true
openclaw config set channels.discord.autoThreadChannels '["1234567890123456789"]'

啟用後,當使用者在指定頻道中 @mention 代理時,代理會自動建立一個新的 Thread,並在 Thread 中回覆。後續對話都在這個 Thread 中進行,保持主頻道整潔。

8.3 Forum Channel 整合

Forum Channel 是 Discord 專為結構化討論設計的頻道類型。OpenClaw 代理可以:

# 啟用 Forum 自動回覆
openclaw config set channels.discord.forumAutoReply true

# 設定自動回覆的 Forum 頻道
openclaw config set channels.discord.forumChannels '["FORUM_CHANNEL_ID"]'

九、大型社群管理策略

當你的 Discord 伺服器成長到數千甚至數萬成員時,AI 代理的管理策略需要隨之升級。以下是針對大型社群的最佳實踐:

9.1 多代理部署

單一代理難以滿足大型社群的多元需求。建議部署多個專門化的代理,分別負責不同職能:[5]

每個代理使用獨立的 Discord Bot,並在 OpenClaw 中配置各自的 Agent Profile 與 System Prompt。

9.2 Rate Limiting 與防濫用

大型社群中必然會有使用者嘗試濫用 AI 代理。OpenClaw 提供以下防護機制:

# 每位使用者每分鐘最多 5 則訊息
openclaw config set channels.discord.rateLimit.perUser 5

# 每個頻道每分鐘最多 20 則回覆
openclaw config set channels.discord.rateLimit.perChannel 20

# 超過限制時的回覆訊息
openclaw config set channels.discord.rateLimit.message "請稍候再試,每分鐘最多 5 則訊息。"

9.3 成本控制

每則 AI 回覆都涉及 LLM API 呼叫費用。在大型社群中,以下策略有助於控制成本:

# 設定代理僅在被 @mention 時回應
openclaw config set channels.discord.triggerMode "mention"

# 限制單次回覆的最大 Token 數
openclaw config set channels.discord.maxResponseTokens 1024

十、疑難排解

以下整理了 OpenClaw Discord 串接中最常見的問題與解法:

問題原因解法
Bot 在伺服器中顯示離線Gateway 未啟動或 Bot Token 錯誤執行 openclaw gateway status 確認 Gateway 運行中;檢查 Token 是否正確複製(無多餘空格)
Bot 上線但不回應訊息Message Content Intent 未啟用確認 Developer Portal 與 OpenClaw 設定中都已啟用 MESSAGE_CONTENT Intent
Gateway 日誌顯示 Disallowed intentsDeveloper Portal 與 OpenClaw 的 Intent 設定不一致比對兩端設定,確保完全一致後重啟 Gateway
Bot 只在某些頻道回應groupPolicy 或 Discord 角色權限限制檢查 openclaw config get channels.discord.groupPolicy;確認 Bot 角色在目標頻道有 Send Messages 權限
Slash Commands 不出現未勾選 applications.commands Scope 或未設定 Application ID確認 OAuth2 URL 中包含 applications.commands;設定正確的 applicationId
「Pairing Required」反覆出現配對未完成或已過期重新執行 openclaw pairing approve[10]
回覆被截斷Discord 單則訊息字數上限為 2000 字OpenClaw 會自動分割長回覆;若仍有問題,調低 maxResponseTokens
回覆延遲超過 30 秒LLM 回應慢或模型選擇過重切換到更快的模型;檢查 Gateway 伺服器的網路延遲
中文回覆格式異常模型未設定語言偏好在代理的 System Prompt 中加入「請使用繁體中文回覆」
Bot 在 Thread 中無法回覆缺少 Send Messages in Threads 權限在 OAuth2 URL 中勾選此權限,重新邀請 Bot

十一、安全最佳實踐

透過 Discord 將 AI 代理暴露在社群環境中,安全性是最需要關注的議題。以下是必須遵守的安全原則:[7][8]

11.1 Token 安全

  1. 永遠不要在程式碼或 Discord 頻道中暴露 Bot Token:Token 等同於 Bot 的完整存取權限
  2. 使用環境變數:在 CI/CD 或部署環境中,使用環境變數而非明文儲存 Token
  3. 定期輪換 Token:建議每 90 天或在任何安全事件後立即在 Developer Portal 中 Reset Token
  4. 啟用 MFA:確保你的 Discord 帳號啟用了兩步驟驗證,防止帳號被盜後 Token 洩漏

11.2 權限最小化原則

  1. 只授予必要的 Bot Permissions:如果代理不需要刪除訊息,就不要授予 Manage Messages 權限
  2. 只啟用必要的 Intents:如果不需要成員資訊,不要啟用 GUILD_MEMBERS Intent
  3. 關閉 Public Bot:除非你有明確理由,否則一律關閉 Public Bot 選項
  4. 限制 Skill 權限:如果代理在 Discord 中只需要回答問題,不要安裝具有檔案修改或 Shell 執行權限的 Skill

11.3 群組存取控制

  1. 預設使用 allowlist 模式:明確指定代理可以回應的頻道,而非讓代理在所有頻道中活動
  2. 使用者白名單:在敏感環境中,限制只有特定 Discord 使用者可以與代理互動
  3. 定期審計:使用 openclaw pairing list 定期檢查已配對的裝置與使用者,移除不再需要的存取權限[10]

11.4 Prompt Injection 防護

在公開社群中,惡意使用者可能嘗試透過精心設計的訊息來操控代理行為(Prompt Injection)。防護措施包括:

11.5 監控與告警

# 啟用 Discord 頻道的操作日誌
openclaw config set channels.discord.logging true

# 設定異常行為告警閾值
openclaw config set channels.discord.alertThreshold.messagesPerMinute 50

當偵測到異常高頻的代理呼叫(可能是濫用或攻擊)時,OpenClaw 會自動暫停回應並通知管理員。

結語

Discord 與 OpenClaw 的整合讓 AI 代理從終端機的個人工具延伸為社群級的共享智慧——不僅能即時回答成員問題,還能執行自動化管理、內容審核與資料分析任務。[8] 整個 openclaw discord 設定流程涵蓋建立 Bot、配置 Token 與 Gateway Intents、設定 groupPolicy 頻道權限、部署 Slash Commands,全程約需 15–20 分鐘。

對於經營開源專案或技術社群的團隊而言,這個整合能顯著降低社群管理的人力負擔——讓 AI 代理處理重複性的問答與審核工作,社群管理員則專注於需要人類判斷的高價值互動。

如果你還沒有安裝 OpenClaw,建議先閱讀《架構解析與實戰部署全指南》完成基礎部署。如果你需要同時串接多個通訊平台,可以參閱《平台串接完全指南》了解 Telegram、Slack、LINE 等其他通道的設定。關於 Slack 企業工作流場景,請參閱《Slack 工作區串接完全指南》

如需針對 Discord 社群 AI 部署的諮詢或企業級客製化方案,歡迎聯繫我們