五分鐘看懂 Discord 開發者平台
狀態
Stable· 最後驗證 2026-07-11 · APIv10· 來源 Discord getting started
Discord 平台看起來很龐大,是因為它確實是共用同一個名字的多個產品。一旦你能為每個部分命名, 其餘的一切就會各就各位。
開發者所做的幾乎一切,都可歸結為透過以下其中一條(或兩條)線路進行通訊:
| 線路 | 是什麼 | 方向 | 用途 |
|---|---|---|---|
| REST API | 對 https://discord.com/api/v10 的一般 HTTPS |
你 → Discord(請求/回應) | 傳送訊息、建立指令、管理伺服器/身分組/頻道、讀取資料 |
| Gateway | 持久的 WebSocket 連線 | Discord → 你(即時事件) | 在事件發生時接收(訊息、加入、反應、語音狀態) |
第三條路徑 — 互動(Interactions)— 可以透過 Gateway 傳遞,也可以傳到你自己的 HTTP 端點(Discord → 你的伺服器,請求/回應)。對以指令為主的應用程式而言,這個選擇是 最重要的架構分岔點。請見選擇整合模型。
各種整合介面
Section titled “各種整合介面” Discord ┌──────────────────────────────────────────────────────────────┐ │ Webhooks Apps ───────────────┐ OAuth2 │ │ (僅發文) (身分 + 設定) │ (授權與 │ │ │ │ │ 安裝) │ │ POST 到網址 ┌────┴────┐ │ │ │ │ 機器人使用者 互動 │ 使用者安裝/ │ │ (token、 (指令、 │ 伺服器安裝 │ │ intent) 元件、視窗) │ 情境 │ │ │ │ │ │ │ Gateway Gateway 或 │ │ (WebSocket) HTTP 端點 (Ed25519) │ │ │ │ Activities (Embedded App SDK) — 在 Discord 用戶端內 │ │ 執行的 iframe 應用程式,透過 RPC/語音。 │ └──────────────────────────────────────────────────────────────┘- Webhook — 你
POSTJSON 的每頻道網址。不需機器人、登入、Gateway 或 intent。適合「把通知 送進這個頻道」。僅供發文。 → Webhook - 應用程式(App) — 你在開發者入口網站註冊的最上層 身分,擁有 Application ID、Public Key、選用的機器人使用者 + token、OAuth2 憑證,以及 指令/安裝設定。 → 應用程式與機器人
- 機器人(Bot) — 附屬於應用程式的自動化使用者,以機器人 token 認證。連線到 Gateway 並 透過 REST 操作。 → 應用程式與機器人
- 互動(Interactions) — 使用者呼叫你應用程式的方式:斜線指令、使用者指令、 訊息指令,以及按鈕、選單、互動視窗。 → 互動與指令
- Gateway — 由 intent 過濾的即時事件串流。 → Gateway
- OAuth2 — 應用程式被授權與安裝的方式,以及代表使用者操作的方式。引入了 安裝情境(使用者安裝與伺服器安裝)。 → OAuth2 與安裝
- Activity — 透過 Embedded App SDK 在 Discord 用戶端內執行的完整應用程式。 → 於平台地圖追蹤。
你會遇到的識別碼與密鑰
Section titled “你會遇到的識別碼與密鑰”| 項目 | 是密鑰嗎? | 來源 |
|---|---|---|
| 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開始。
- 選擇整合模型 — 最能替你省時間的決策表。
- 你的前 15 分鐘 — 具體、最小權限的第一個實作與學習路徑。
- 取得
DISCORD_WEBHOOK_URL— 如果你現在就想發文到頻道。