跳到內容

五分鐘看懂 Discord 開發者平台

狀態 Stable · 最後驗證 2026-07-11 · API v10 · 來源 Discord getting started

Discord 平台看起來很龐大,是因為它確實是共用同一個名字的多個產品。一旦你能為每個部分命名, 其餘的一切就會各就各位。

開發者所做的幾乎一切,都可歸結為透過以下其中一條(或兩條)線路進行通訊:

線路 是什麼 方向 用途
REST API https://discord.com/api/v10 的一般 HTTPS 你 → Discord(請求/回應) 傳送訊息、建立指令、管理伺服器/身分組/頻道、讀取資料
Gateway 持久的 WebSocket 連線 Discord → 你(即時事件) 在事件發生時接收(訊息、加入、反應、語音狀態)

第三條路徑 — 互動(Interactions)— 可以透過 Gateway 傳遞,也可以傳到你自己的 HTTP 端點(Discord → 你的伺服器,請求/回應)。對以指令為主的應用程式而言,這個選擇是 最重要的架構分岔點。請見選擇整合模型

Discord
┌──────────────────────────────────────────────────────────────┐
│ Webhooks Apps ───────────────┐ OAuth2 │
│ (僅發文) (身分 + 設定) │ (授權與 │
│ │ │ │ 安裝) │
│ POST 到網址 ┌────┴────┐ │ │ │
│ 機器人使用者 互動 │ 使用者安裝/ │
│ (token、 (指令、 │ 伺服器安裝 │
│ intent) 元件、視窗) │ 情境 │
│ │ │ │ │
│ Gateway Gateway 或 │
│ (WebSocket) HTTP 端點 (Ed25519) │
│ │
│ Activities (Embedded App SDK) — 在 Discord 用戶端內 │
│ 執行的 iframe 應用程式,透過 RPC/語音。 │
└──────────────────────────────────────────────────────────────┘
  • Webhook — 你 POST JSON 的每頻道網址。不需機器人、登入、Gateway 或 intent。適合「把通知 送進這個頻道」。僅供發文。 → Webhook
  • 應用程式(App) — 你在開發者入口網站註冊的最上層 身分,擁有 Application IDPublic Key、選用的機器人使用者 + token、OAuth2 憑證,以及 指令/安裝設定。 → 應用程式與機器人
  • 機器人(Bot) — 附屬於應用程式的自動化使用者,以機器人 token 認證。連線到 Gateway 並 透過 REST 操作。 → 應用程式與機器人
  • 互動(Interactions) — 使用者呼叫你應用程式的方式:斜線指令使用者指令訊息指令,以及按鈕、選單、互動視窗。 → 互動與指令
  • Gateway — 由 intent 過濾的即時事件串流。 → Gateway
  • OAuth2 — 應用程式被授權安裝的方式,以及代表使用者操作的方式。引入了 安裝情境(使用者安裝與伺服器安裝)。 → OAuth2 與安裝
  • Activity — 透過 Embedded App SDK 在 Discord 用戶端執行的完整應用程式。 → 於平台地圖追蹤。
項目 是密鑰嗎? 來源
Application ID 入口網站 → General Information
Public Key 否(設計上公開) General Information — 用於驗證傳入的互動
機器人 token 是 — 對機器人的完全控制權 Bot 分頁 → Reset Token
Client secret OAuth2 分頁 → Reset Secret
Webhook 網址 是 — 持有者皆可發文 頻道 → 整合 → Webhook
Snowflake ID 每個物件都有的 64 位元、可依時間排序的 ID

把「是」的那幾列當成密碼看待。請從安全性與儲存庫的 SECURITY.md開始。

  1. 選擇整合模型 — 最能替你省時間的決策表。
  2. 你的前 15 分鐘 — 具體、最小權限的第一個實作與學習路徑。
  3. 取得 DISCORD_WEBHOOK_URL — 如果你現在就想發文到頻道。