⚠️ 使用前に必ずお読みください
プログラムによる個人アカウント(self-bot)の自動操作は Discord の利用規約に違反しており、アカウントが BAN されるリスクがあります。これは本サービスの本質的な前提です。あなた自身のアカウント認証情報を提供し、リスクはご自身で負担してください。 専用のサブアカウントを使用し、メインアカウントを使用しないことを強く推奨します。サービスのデプロイ
コンソール → アプリケーション にアクセスし、Discord Agent Proxy を見つけてアプリケーションを作成します。作成後、まずサブスクリプションを有効化し、その後設定ページに入り Discord アカウント認証情報を入力してデプロイします。インスタンスリソースはプラットフォームによって自動的に設定されるため、スペックを選択する必要はありません。 デプロイを送信するとアプリケーション管理ページに移動します。Telegram、WeChat のデプロイと同じ「概要 / ログ / ドキュメント」レイアウトを使用します。「概要」にはインスタンスとサブスクリプションの状態が表示され、アカウント照会によって Discord が接続されているかを確認できます。コンテナが正常に稼働していても、アカウントが必ず接続済みであるとは限りません。 「概要」の Discord アカウントカードでは、次の 2 つの接続情報が提供されます。コンソールでインターフェースを確認・テストする
このアプリケーションの「ドキュメント」タブを開くと、全 14 個の REST 操作のリクエストパラメータ、レスポンス構造、および Shell、Python、JavaScript などの言語のサンプルを確認できます。インスタンスアドレスとアクセストークンは自動的に入力されます。トークンはデフォルトで非表示です。GET /api/whoami を選択し、「テスト」をクリックすると、プロキシが接続しているアカウントを確認できます。メッセージの送信、編集、削除などの操作は実際の Discord アカウントに適用されるため、リクエスト内容を確認してからテストしてください。
「OpenAPI (JSON) をダウンロード」では、完全なインターフェース定義をエクスポートできます。ファイルにはインスタンスアドレスが含まれますが、アクセストークンは含まれません。Discord アカウント認証情報を変更する必要がある場合は、「概要」で「再デプロイ」を選択し、新しい認証情報を入力して送信してください。
Discord アカウント認証情報の取得方法
- パソコンのブラウザで Discord にログインします(discord.com/app)
F12を押して開発者ツールを開き、Network(ネットワーク) パネルに切り替えます- Discord で任意のチャンネルをクリックし、リクエスト一覧を確認します
discord.com/api宛ての任意のリクエストを開き、Request Headers(リクエストヘッダー) 内のauthorizationフィールドを見つけます- その値をコピーします
認証方法
/health と /readyz を除くすべてのインターフェースでは、リクエストヘッダーにアクセストークンを含める必要があります。
注意:本サービスはリクエストヘッダーによる認証のみを受け付け、?token=xxxのように URL の末尾にトークンを付加する方式はサポートしていません。 ブラウザで直接インターフェースアドレスを開くと401 unauthorizedが返されますが、これは正常な動作であり、デプロイの失敗を意味するものではありません。プロセスが稼働しているかを確認したい場合は/healthにアクセスしてください。Discord 接続がリクエストを処理できるか確認したい場合は/readyzにアクセスしてください。これら 2 つのプローブはいずれも認証不要です。プロキシアクセストークンが未設定の場合、保護されたインターフェースは503を返し、匿名で公開されることはありません。
サービス状態の確認
/health は HTTP プロセスが稼働していることのみを示します。
/readyz は Discord Gateway が利用可能かどうかを示します。接続が正常な場合は HTTP 200 を返します。
AI クライアントでの使用(MCP)
Claude Code を例にします。claude_desktop_config.json にある HTTP リクエストヘッダーを読み取りません。現在、静的な Bearer リクエストヘッダーが必要な場合は、Claude Code またはこの機能を明示的にサポートするクライアントを使用してください。
設定完了後は、自然言語で直接 AI に Discord の操作を指示できます。例:
「プロジェクトディスカッション」チャンネルに新しいメッセージがあるか確認して、誰かがリリース日時について質問していたら、今週金曜日だと返信して。
利用可能なツール
プログラムでの使用(REST API)
すべての REST エンドポイントは/api 配下にあり、レスポンスボディは統一して {"data": ...}、エラー時は {"error": "..."} となります。
現在のアカウントを確認する
メッセージを送信する
Idempotency-Key を再利用してください。プロセスは初回の結果を返し、重複して送信しません。インスタンスの再起動時には最大 5,000 件のメモリ上の重複排除記録が消去されるため、呼び出し元は長期的な配信状態を引き続き自ら追跡する必要があります。
オプションのパラメーター reply_to は、指定したメッセージへの返信に使用します。
メッセージを読み取る
完全なエンドポイント一覧
チャンネル ID とユーザー ID の取得方法
Discord クライアントで ユーザー設定 → 詳細設定 を順に開き、開発者モードを有効にします。その後、任意のチャンネルまたはユーザーを右クリックすると、メニューに「ID をコピー」が表示されます。GET /api/guilds および GET /api/guilds/{guild_id}/channels を直接呼び出して列挙することもできます。
よくある質問
401 unauthorized が返される
アクセストークンが正しくないか、?token= の方法で渡されています。トークンがリクエストヘッダー Authorization: Bearer <トークン> を通じて渡されており、コンソールに表示されているものと一致していることを確認してください。
503 が返される
Discord との接続がまだ確立されていません。まず /readyz にアクセスして gateway_ready を確認してください。長時間 false の場合は、アカウント認証情報が無効になっていることが多いため、再取得して再デプロイしてください。
403 または 404 が返される
アカウント自体に対応する権限がない(たとえば、そのサーバーに参加していない、そのチャンネルで発言する権限がない)か、ID が間違っています。この種のエラーは Discord からのものであり、代理サービスの問題ではありません。
429 が返される
Discord のレート制限に達しました。レスポンス内の retry_after フィールドに推奨される待機秒数が示されます。呼び出し頻度を下げてください。
メッセージ送信後にアカウントが凍結された
前述のとおり、個人アカウントの自動操作は Discord の利用規約に違反します。専用のサブアカウントを使用し、操作頻度を制御して、一斉送信などのセンシティブな行為を避けてください。

