コンテンツにスキップ

Discord 開発者プラットフォーム、5 分で理解する

ステータス Stable · 最終検証 2026-07-11 · API v10 · 出典 Discord getting started

Discord プラットフォームは大きく見えますが、実際は1 つの名前を共有する複数の製品です。 各部品を名指しできるようになれば、あとはすべてが所定の位置に収まります。

開発者が行うことのほとんどは、次のいずれか(または両方)を介した通信に還元されます。

配線 何であるか 方向 用途
REST API https://discord.com/api/v10 への通常の HTTPS あなた → Discord(要求/応答) メッセージ送信、コマンド作成、ギルド/ロール/チャンネル管理、データ読み取り
ゲートウェイ 永続的な WebSocket 接続 Discord → あなた(リアルタイムイベント) イベント(メッセージ、参加、リアクション、ボイス状態)を発生時に受信

3 つ目の経路であるインタラクションは、ゲートウェイ経由でも、あなた自身の HTTP エンドポイントへも配信できます(Discord → あなたのサーバー、要求/応答)。 この選択は、コマンドベースのアプリにおける最も重要なアーキテクチャの分岐点です。 連携モデルの選択を参照してください。

連携のためのインターフェース

Section titled “連携のためのインターフェース”
Discord
┌──────────────────────────────────────────────────────────────┐
│ Webhooks Apps ───────────────┐ OAuth2 │
│ (投稿専用) (識別情報 + 設定) │ (認可と │
│ │ │ │ インストール) │
│ URL に POST ┌────┴────┐ │ │ │
│ ボットユーザー インタラクション │ ユーザー/ │
│ (トークン、 (コマンド、 │ ギルド │
│ インテント) コンポーネント)│ インストール │
│ │ │ │ │
│ ゲートウェイ ゲートウェイ または │
│ (WebSocket) HTTP エンドポイント (Ed25519) │
│ │
│ Activities (Embedded App SDK) — Discord クライアント内で │
│ 動作する iframe アプリ。RPC/ボイス経由。 │
└──────────────────────────────────────────────────────────────┘
  • Webhook — JSON を POST するチャンネルごとの URL。ボット、ログイン、ゲートウェイ、 インテントは不要。「このチャンネルに通知を送る」用途に最適。投稿専用。 → Webhook
  • アプリケーション(「アプリ」)開発者ポータルで 登録する最上位の識別情報。Application IDPublic Key、任意のボットユーザー + トークン、 OAuth2 認証情報、コマンド/インストール設定を保持します。 → アプリとボット
  • ボット — アプリに紐づく自動化されたユーザーで、ボットトークンで認証します。 ゲートウェイに接続し、REST 経由で操作します。 → アプリとボット
  • インタラクション — ユーザーがアプリを呼び出す方法:スラッシュコマンドユーザーコマンドメッセージコマンド、およびボタン、セレクトメニュー、モーダル。 → インタラクションとコマンド
  • ゲートウェイインテントでフィルタリングされたリアルタイムイベントストリーム。 → ゲートウェイ
  • OAuth2 — アプリが認可・インストールされる方法と、ユーザーの代理として操作する方法。 インストールコンテキスト(ユーザーインストール/ギルドインストール)を導入します。 → OAuth2 とインストール
  • アクティビティEmbedded App SDK を介して Discord クライアントで動作する完全なアプリ。 → プラットフォーム地図で追跡。

遭遇する識別子とシークレット

Section titled “遭遇する識別子とシークレット”
項目 シークレット? 取得元
Application ID いいえ ポータル → General Information
Public Key いいえ(設計上公開) General Information — インタラクションの検証に使用
ボットトークン はい — ボットの完全な制御権 Bot タブ → Reset Token
クライアントシークレット はい OAuth2 タブ → Reset Secret
Webhook URL はい — 保持者は誰でも投稿可能 チャンネル → 連携 → Webhook
Snowflake ID いいえ すべてのオブジェクトが持つ 64 ビットの時系列ソート可能な ID

「はい」の行はパスワードのように扱ってください。セキュリティと リポジトリの SECURITY.mdから 始めましょう。

  1. 連携モデルを選ぶ — 最も時間を節約できる判断表。
  2. 最初の 15 分 — 具体的で最小権限の最初のビルドと学習パス。
  3. DISCORD_WEBHOOK_URL を取得する — 今すぐチャンネルに投稿したい場合。