Discord 開発

Discord はチャット・ボイス・コミュニティ機能をフル提供する SaaS。 その上で動くBotWebhookOAuth アプリを作れる。 最新は discord.js v14(Node.js 系の定番)か Discord HTTP Interactions(サーバレス向け)。

3 つのアプリ形態

形態用途特徴
Gateway Bot 常時稼働してイベント受信 WebSocket(Gateway)に接続。メッセージ・リアクション等のリアルタイムイベントを受信できる
HTTP Interactions スラッシュコマンドのみ サーバレス向け。Discord が HTTPS Webhook を叩く形。常時稼働不要
Webhook サーバへ投稿 双方向ではない。CI 通知や監視アラート等
OAuth2 App ユーザーの代理操作 「Discord でログイン」「サーバー情報取得」等。Bot とは別の権限

選び方

このノートで扱う範囲

メインは discord.js v14(Gateway Bot)。HTTP Interactions と Webhook も触れる。 OAuth2 は本ノートでは深掘りしない(一般的な OAuth2 の知識でだいたい解ける)。

必要なもの

30 秒のメンタルモデル

  1. Developer Portal でApplicationを作る → Botを有効化
  2. Bot のトークンを取得(環境変数に保存、絶対に Git に上げない)
  3. Bot をOAuth2 URLでテストサーバーに招待
  4. discord.js でクライアント作って client.login(TOKEN)
  5. イベントハンドラ(client.on("ready", ...) 等)を書く
  6. スラッシュコマンドは事前登録して、InteractionCreate で受ける

このノートの読み方

  1. Bot を作る で Developer Portal の操作とトークン取得
  2. discord.js 基礎 で client / event / intent
  3. スラッシュコマンド でコマンド登録と handler
  4. インタラクション で Button / SelectMenu / Modal
  5. メッセージと埋め込み で embed / file / reaction
  6. 必要になったら 音声Webhook
  7. 本番投入前に デプロイと注意点
2026 春時点のバージョン感

- discord.js v14(API v10 対応)
- Discord API v10(v11 が beta)
- Privileged Gateway Intents の有効化が厳しくなった(Message Content / Members / Presence は明示申請)
- Slash Commandがメッセージプレフィックス(!cmd)の正式置き換え。Message Content Intent なしでも動く