跳到內容

取得 Webhook 網址

狀態 Stable · 最後驗證 2026-07-11 · API v10 · 來源 Support:Webhook 入門Webhook 資源

這就是重頭戲:取得 DISCORD_WEBHOOK_URL,讓你能發文到頻道。有兩種做法 — UI(建議,60 秒) 與 API(用於自動化)。取得後,驗證它、保護它,並了解如何撤銷。

  • 一個你擁有管理 Webhook(屬於管理伺服器)權限的伺服器。若沒有,可請伺服器管理員代為 建立並把網址交給你。
  • 一個目標文字頻道。

方法 A — 在 Discord 應用程式中建立(建議)

Section titled “方法 A — 在 Discord 應用程式中建立(建議)”
  1. 開啟你的伺服器,將滑鼠移到目標文字頻道上,點擊 ⚙️ 齒輪編輯頻道)。
    • 或:伺服器設定 → 整合 → Webhook
  2. 選擇 整合 → Webhook → 新增 Webhook(舊版介面為建立 Webhook)。
  3. 設定名稱(預設顯示名稱),並可選擇性設定頭像與特定頻道
  4. 點擊複製 Webhook 網址
  5. 點擊儲存變更

複製到的字串就是你的 DISCORD_WEBHOOK_URL,格式如下:

https://discord.com/api/webhooks/1234567890123456789/AbCdEf-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
└──── webhook id ───┘ └──────────────── webhook token (密鑰) ────────────────┘
  • id 屬於半公開;但最後一個 / 之後的 token 才是授予發文權限的密鑰。請把整個網址 當成密碼看待。

方法 B — 透過 API 建立(用於自動化)

Section titled “方法 B — 透過 API 建立(用於自動化)”

需要在目標頻道具有管理 Webhook 權限的機器人/應用程式 token。 只有在你要以程式化方式佈建 Webhook 時才值得這麼做。

Terminal window
# POST /channels/{channel.id}/webhooks
curl -X POST "https://discord.com/api/v10/channels/CHANNEL_ID/webhooks" \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "atlas-notifier" }'

JSON 回應中含有 idtoken,可執行的網址為:

https://discord.com/api/v10/webhooks/{id}/{token}

最快的檢查方式 — 一行 POST(不需驗證標頭,token 就在網址中):

Terminal window
curl -X POST "$DISCORD_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{ "content": "✅ Webhook 已上線 — 由 curl 送出。" }'

預期結果:HTTP 204 No Content(無回應內容),且頻道中出現一則訊息。想執行真正的範例嗎?

Terminal window
cd examples/webhook-minimal
cp .env.example .env # 將網址貼為 DISCORD_WEBHOOK_URL
node send.mjs

放進環境檔,而不是程式碼裡:

# .env (已被 git 忽略 — 見 .gitignore)
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/123.../AbC...
症狀 原因 解法
401 Unauthorized / 404 Unknown Webhook 網址錯誤,或 Webhook 已被刪除/重新產生 重新複製網址;若已刪除則重建
content/embeds400 空訊息,或超過 2000 字 / 10 個 embed / embed 合計 6000 字 精簡內容;見限制
429 Too Many Requests 觸發速率限制(每個 Webhook 約 30 則/分鐘) 遵守 retry_after;將訊息合併批次
@everyone 沒有通知 預設被封鎖 明確設定 allowed_mentions(謹慎使用)

若 Webhook 網址外洩,請立即刪除或重新產生 — 輪替才是真正的解方,而不是去清除紀錄檔:

  • UI: 頻道/設定 → 整合 → Webhook →(該 Webhook)→ 刪除。重建以取得新網址。
  • API: DELETE https://discord.com/api/v10/webhooks/{id}/{token}

一旦刪除,舊網址立即失效。

  • 用 Webhook 傳送訊息 — embed、檔案、討論串、使用者名稱、 allowed_mentions 與速率限制,附可直接複製的 payload。