Apidog

オールインワンのAPI開発プラットフォーム

API設計

API仕様書生成

APIデバッグ

API Mock

APIテスト自動化

無料登録
Home / 操作ガイド / Discord API使い方:できること、料金なども解説

Discord API使い方:できること、料金なども解説

Discordは全世界でも人気のあるコミュニケーションプラットフォームとして、多くのユーザーに利用されています。Discordのサービスを外部アプリと連携させるために、Discord APIを利用する必要があります。本文では、Discord APIができること、利用料金、及び詳細な使い方を皆さんに解説していこうと思います。

Discordは全世界でも人気のあるコミュニケーションプラットフォームとして、多くのユーザーに利用されています。Discordのサービスを外部アプリと連携させるために、Discord APIを利用する必要があります。本文では、Discord APIができること、利用料金、及び詳細な使い方を皆さんに解説していこうと思います。

Discordとは

Discordとは、ゲーマーやコミュニティ向けのボイスチャット、ビデオチャット、テキストチャットなどのコミュニケーションプラットフォームです。

Discordプラットフォーム

主な特徴は以下の通りです。

  • 無料で使用できるクロスプラットフォームアプリ(Windows、Mac、Linux、iOS、Androidなどに対応)
  • サーバー内にテキストチャンネルやボイスチャンネルを自由に作成可能
  • スクリーン共有機能、ビデオ通話機能があり、ゲームプレイの共有ができる
  • ボット機能でさまざまなカスタマイズが可能
  • コミュニティサーバーを作ってメンバーを招待できる
  • プライベートグループでの会話も可能

主にオンラインゲームのクランやコミュニティ、フレンドグループなどで利用されており、ゲームをプレイしながらのリアルタイムコミュニケーションに適しています。テキストだけでなく音声やビデオでもコミュニケーションができる点が大きな特徴です。

Discord APIについて

Discord APIとは、DiscordのプラットフォームやサービスにアクセスしてDiscordの機能を拡張したり、カスタマイズしたりするためのプログラミングインターフェースのことです。

Discord APIはREST APIとWebSocket APIの2種類があり、主要なプログラミング言語に対応しているSDKがあります。OAuth2認証を使って安全にAPIを利用できます。

つまり、Discord APIを活用することで、Discordを自分のニーズに合わせてカスタマイズしたり、外部アプリと連携させたりすることができます。

Discord APIでできること

Discord APIを使うと、以下のようなことができます。

ボットの作成・管理

  • テキストコマンドに反応するボットを作成
  • ボットにカスタム機能を追加(リアクション、メッセージ送信など)
  • ボットの挙動をプログラミングで制御

サーバー管理

  • 新しいサーバーの作成
  • サーバーの設定変更(名前、アイコン、チャンネルなど)
  • メンバーの招待・役職の割り当て
  • 特定のメンバーをBANやキックする

チャンネル管理

  • 新しいテキストチャンネル、ボイスチャンネルの作成
  • チャンネル設定の変更(トピック、権限など)
  • メッセージの送信、編集、削除

リソース管理

  • カスタム絵文字の追加・削除
  • 招待リンクの作成、管理

WebHookの利用

  • 外部アプリからDiscordにメッセージを送信

認証と認可

  • OAuth2を使ったユーザー認証
  • スコープに基づく権限設定

アクティビティの追跡

  • サーバーやチャンネルのメッセージのログ取得

Discord APIの利用料金

一般的にはDiscord APIは、外部アプリやサービスからDiscordでBotを作成したり、チャンネルを管理したりするために利用されています。そこで、Discordサービスを利用している方なら、Discord APIを完全無料で利用できます

Discordサービスを利用することができますが、有料プランのNitro BasicとNitroというサービスも提供しています。Nitroサービスを購読することで、より大きなビデオや画像をシェアしたり、カスタム絵文字やスーパーリアクションを利用したりすることができるようになります。

Discord Nitroの料金プランについて:

Nitro Benefits and Features | Discord
Enhance your Discord experience with Nitro — get custom emojis, animated avatars, larger file uploads, HD screensharing, and more.

Discord APIの使い方を完全に解説

それでは、Discord APIを利用して、自分のアプリやサービスをDiscordに連携するために、どうやって始めれば良いのでしょうか?次は。Discord APIの利用の使い方を詳しく解説していこうと思います。

ステップ⒈Discordの開発者向けページにアクセス

Discordの開発者向けページにアクセスします。ここで、Discordアカウントでログインします。まだDiscordのアカウントをお持ちでない場合、まずはサインアップする必要です。

discordへログイン

ステップ⒉Discordアプリを新規に作成

Discordの開発者ポータルサイトにログインすると、ここで「New Application」を選択して、Discord アプリを新規に作成します。

Discordアプリを新規に作成

ステップ⒊ アプリの名前をつける

ここで新規のアプリの名前を付けて続行します。

アプリの名前をつける

ステップ⒋Client IDとClient Secretを取得

左側メニューからOAuth2セクションで、Client IDとClient Secretを取得することができます。

discord client id secret oauth2

ここでredirect URLを追加する必要があります。このURLを追加しなければ、Discord APIが利用できません。ここで、追加の例として、http://localhost/discord/redirectをredirect URLに設定します。

ステップ⒌Discordアプリの認証リンクを生成

Discord APIにリクエストを送信するために、認証が必要です。OAuth2セクションで画面を下にスクロールして、「OAuth2 URL Generator」があります。

discord url generator

ここで、Scopes(APIができる操作)を設定します。例えば、認証用だったら、「identify」をチェックします。

そして、redirect URLを設定した上、生成したリンクをコピーします。このリンクをブラウザに入力して、次のような認証ページが表示されます。

Discordアプリの認証ページ

ここで「Authorize」ボタンをクリックして、認証済のURLを保存します。この認証済のURLは次のような形になっています:

http://localhost/discord/redirect?code=dVDSfa7lff41EervKcDHgelVXJdZnw

Discord APIを実装するために、上記の codeパラメータを保存する必要があります。上記のURLのサンプルでは、codeパラメータの値が dVDSfa7lff41EervKcDHgelVXJdZnwになります。このパラメータは、Discord APIのアクセストークンを取得するために利用される必要があります。

ステップ⒍Discord APIのアクセストークンを取得

Discord APIのアクセストークンを取得するために、次のAPIエンドポイントにリクエストを送信して、上記で取得したデータを渡す必要があります。

  • https://discord.com/api/oauth2/token

ここで最も使いかやすいAPI管理ツールのApidogを利用して、簡単にデータをDiscord認証用エンドポイントに渡し、簡単にアクセストークンを取得できます。次のcurlコマンドをApidogにインポートして、すぐにリクエスト情報を導入して、直感的なUIでAPIをテストしたり、管理したりすることができます。

button
ApidogからDiscord認証を
curl -i -X POST \
   -H "Content-Type:application/x-www-form-urlencoded" \
   -d "client_id=${CLIENT_ID}" \
   -d "client_secret=${CLIENT_SECRET}" \
   -d "grant_type=authorization_code" \
   -d "code=${CODE}" \
   -d "redirect_uri=${REDIRECT_URL}" \
 'https://discordapp.com/api/oauth2/token'

HTTPメソッド: POST | Content-type: x-www-form-urlencoded

  • client_id: "ステップ4で取得したClient ID"
  • client_secret: "ステップ4で取得したClient Secret"
  • grant_type: "authorization_code"
  • code: "ステップ5で取得したCodeパラメータ"
  • redirect_uri: "http://localhost/discord/redirect"

ここで正しいデータが含まれるリクエストを送信すると、次のようなアクセストークンを取得することができます。

Apidogで取得したアクセストークン

Apidogで便利にDiscord APIを管理&テスト

上記のガイドを参照して、Discord APIのアクセストークンを取得すると、このアクセストークンを利用することで、Discord APIを利用してDiscordサービスに連携して、外部のアプリからさまざまな操作を行うことができるようになります。具体的に実現できる操作は、次のページからDiscord API仕様書をご確認ください。

Discord Developer Portal — API Docs for Bots and Developers
Integrate your service with Discord — whether it’s a bot or a game or whatever your wildest imagination can come up with.

次のように、ユーザーIDの取得及びメンバーの削除といった2つの操作を行うには、cURLコマンドを使ってそれを簡単にApidogにインポートできます。そして、直感的なUIでAPIをテストしたり、リクエストを送信したりすることができます。また、Apidogでリクエストを送信してレスポンスを取得すると、リクエストを保存することもできます。

button
curlでリクエストをApidogにインポート

ユーザーIDの取得

curl -i -X GET \
   -H "Authorization:Bearer ${ACCESS_TOKEN}" \
 'https://discordapp.com/api/users/@me'

メンバーを削除

curl -i -X DELETE \
   -H "Authorization:Bot ${BOT_TOKEN}" \
 'https://discordapp.com/api/guilds/${GUILD_ID}/members/${USER_ID}'

というように、Apidogというツールを使えば、Discord APIをはじめ、自社が利用する他のAPIも一元的に管理できるようですね。APIの結合テストができるのは便利な機能です。

結合テストと一元管理

APIを利用してサードパーティのサービスやプラットフォームと自社システムを連携させる場合、APIの動作確認やテストは非常に重要です。Apidogのようなツールで一元的にAPI管理し、UIからリクエストを送ってレスポンスを確認できれば、開発が効率化されると考えられます。

button

まとめ

本記事では、Discordの人気コミュニケーションプラットフォームとその外部アプリ連携のためのDiscord APIについて詳しく解説しました。Discord APIを利用することで、テキストコマンドに反応するボットの作成、サーバー/チャンネルの管理、メッセージの送受信、カスタム絵文字の追加など、さまざまな機能をプログラミングでカスタマイズできます。一般的にDiscordサービスを利用している場合、Discord APIは完全無料で利用できます。

Discord APIを使い始めるには、Discord開発者ポータルでアプリを作成し、Client ID/Secretを取得する必要があります。OAuth2認証を経て、アクセストークンを取得できます。Apidogのようなツールを活用すれば、DiscordAPIへのリクエスト送信、レスポンスの確認、APIの一元管理などが直感的にできます。

APIを介してサードパーティサービスと自社システムを連携させることで、より価値の高いサービスを提供できます。Discordのようなプラットフォームと連携するために、Discord APIの活用は有効な選択肢になるでしょう。APIの動作確認や結合テストにApidogなどの専用ツールを使えば、開発がより効率化されます。

Apidogのニュースレターを購読する

今すぐ購読すると、いつでもApidogから更新情報と最新観点を手に入れることができます。

有効なメールアドレスを入力してください。
ネットワークエラー、後で再試行してください
購読していただきありがとうございます!