Discord

Discord開発者ポータルでBot作成とトークン取得方法【2025年最新】

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

1️⃣ Discord 開発者ポータルで Bot アプリとトークンを取得する手順

手順概要(画像付きの公式ページでも同様)

手順 操作内容
1 https://discord.com/developers/applications にアクセスし、Discord アカウントでログイン
2 右上の 「New Application」 をクリック → 任意の名前を入力して 「Create」
3 左メニューから 「Bot」 を選択 → 「Add Bot」 → 確認ダイアログで 「Yes, do it!」
4 作成された Bot のカードにある 「Copy」(または 「Reset Token」)をクリックし、トークンを取得
5 同じ画面左下の 「OAuth2」 → 「URL Generator」bot スコープと必要な権限を選び、生成された URL を使ってサーバーへ招待

重要:トークンは 絶対にコードやリポジトリに直接書かない ようにしてください。漏洩すると Bot が不正利用されます。

トークン管理のベストプラクティス

  1. .env ファイルに保存
    dotenv
    BOT_TOKEN=YOUR_DISCORD_BOT_TOKEN_HERE
  2. リポジトリに .env を含めない
  3. プロジェクト直下に以下の内容で .gitignore を作成

    gitignore
    # Node / Python 用環境変数ファイル
    .env

    # VSCode の設定ファイル(任意)
    .vscode/

    # OS が生成する不要ファイル
    Thumbs.db
    Desktop.ini

    - 変更後は必ず
    git status
    で除外が反映されていることを確認

  4. GitHub・Replit 等の UI からシークレットとして登録

  5. GitHub → リポジトリ > Settings > Secrets and variables > Actions に BOT_TOKEN を追加
  6. Replit の左メニュー Secrets タブに同名で入力

  7. 定期的なトークンローテーション
    開発者ポータルの「Reset Token」から新しいトークンを取得し、.env とシークレットを更新して再デプロイする習慣をつけると安全性が向上します。


2️⃣ Gateway Intents と Bot 権限の設定

必要な Intent とその役割(2024 年時点)

Intent 用途 設定場所
MESSAGE_CONTENT ユーザーが送信したテキストメッセージを取得 Bot 設定画面 → Privileged Gateway Intents で有効化
GUILDS サーバー情報の取得・コマンド登録 デフォルトで有効
GUILD_MESSAGES ギルド内のメッセージイベント受信 デフォルトで有効

※注意MESSAGE_CONTENT は「Privileged」Intent に該当するため、必ず開発者ポータル側でも有効化してください。無効のままだと Missing Intent エラーが発生します。

招待 URL 生成時に付与すべき最低権限

権限 説明
Send Messages メッセージ送信
Read Message History 過去メッセージの取得(Ping の応答だけでも必要)

これらを選択すれば、基本的なスラッシュコマンドは問題なく動作します。追加機能が必要になったら、その都度権限を拡張してください。


3️⃣ Node.js 環境構築と discord.js v15 での Ping Bot 実装

3‑1. 推奨環境

項目 バージョン(執筆時点)
Node.js 20.x 系(LTS)
npm 10.x 系
discord.js v15(最新安定版)

公式は「LTS バージョンであれば問題なく動作する」としています。新バージョンがリリースされたら、公式ドキュメント を確認してください。

3‑2. Node.js と npm のインストール手順(macOS / Linux / Windows 共通)

3‑3. プロジェクト作成と依存パッケージのインストール

3‑4. Ping Bot のサンプルコード

package.json に起動スクリプトを追加

3‑5. Bot のローカル起動と確認手順

デバッグヒント
- Invalid Token が出たら .env の文字列やシークレット設定を再確認。
- Missing Intent エラーは MESSAGE_CONTENT が有効化されていないときに発生します。


4️⃣ Python 環境構築と discord.py 2.x での同等実装

4‑1. 推奨環境

項目 バージョン(執筆時点)
Python 3.11 系 (公式 LTS)
discord.py 2.x 系(最新安定版)
python-dotenv 環境変数読み込み用

4‑2. Python と仮想環境のインストール

仮想環境作成と有効化

4‑3. 必要パッケージのインストール

4‑4. Ping Bot のサンプルコード

.env の例

4‑5. ローカルでの起動手順


5️⃣ よくあるエラーと対処法(共通)

エラー 原因例 対策
Invalid Token .env のスペース、改行ミス、シークレット未設定 トークンを再コピーし、環境変数名 BOT_TOKEN が正しいか確認
Missing Intent 開発者ポータルで MESSAGE_CONTENT がオフ、コードに未指定 ポータル → Bot 設定 → Privileged Gateway Intents をオンにする。コードでも MessageContent / intents.message_content = True を追加
Rate Limit (429) 短時間に大量の API 呼び出し(例:連続メッセージ送信) 1 秒以上の間隔を設けるか、エラーハンドラで retry-after ヘッダーを取得して待機
Command not registered スラッシュコマンドが同期されていない 起動時に await tree.sync()(Node では client.application?.commands.set([...]))を呼び出す。デプロイ後は数分待つことも必要

6️⃣ 無料クラウドサービスへのデプロイ

6‑1. Replit にデプロイする手順

手順 内容
1 Create repl → 「Import from GitHub」か「Node.js / Python」テンプレートで新規作成
2 左メニューの Secrets タブを開き、BOT_TOKEN に取得したトークンを貼り付け
3 package.json"start" スクリプトが自動実行されるので Run ボタンで起動
4 (任意) 常時稼働させたい場合は while True: time.sleep(60) 等の keep‑alive コードを追加

注意:Replit の無料プランは一定時間アイドルになるとスリープします。軽いハートビート(例: 5 分ごとの console.log('keep-alive'))でスリープ防止が可能です。

6‑2. Railway にデプロイする手順

手順 内容
1 Railway にサインイン → New Project → 「Deploy from GitHub」
2 対象リポジトリを選択し、Variables タブで BOT_TOKEN を設定
3 Settings → Deployments で「Auto deploy on push」を有効化
4 デプロイ完了後に表示されるログ画面で「✅ Logged in as …」を確認

6‑3. 環境変数だけで安全に運用するためのチェックリスト

  • [.gitignore に .env が入っているか]
  • [GitHub シークレットと Replit / Railway の Secrets が最新トークンになっているか]
  • [コード中に process.env.BOT_TOKEN(Node)または os.getenv('BOT_TOKEN')(Python)が正しく呼び出されているか]
  • [定期的にトークンをリセットし、再デプロイする手順がドキュメント化されているか]

7️⃣ 学習リソースまとめ

カテゴリ 推奨リンク
公式マニュアル - discord.js v15: https://discordjs.dev/v15/
- discord.py 2.x: https://discordpy.readthedocs.io/en/stable/
日本語解説記事 - note「Discord Bot 入門」:https://note.com/structure_block/n/n1408a199b023
- Qiita「Pythonで実装する Discord Bot」:https://qiita.com/1ntegrale9/items/9d570ef8175cf178468f
動画チュートリアル - YouTube 公式 Discord 開発者チャンネル(最新バージョン解説)
無料ホスティング例 - Replit Docs: https://docs.replit.com/
- Railway Docs: https://railway.app/docs

✅ まとめ

  1. Bot とトークンは開発者ポータルで取得し、.env に保存・Git 管理から除外
  2. 必要な Intent (MESSAGE_CONTENT) と最低権限(Send Messages, Read Message History)を必ず有効化
  3. Node.js (discord.js v15) または Python (discord.py 2.x) のいずれかで Ping Bot をローカル実行
  4. エラーはトークン・Intent・レートリミットが主因。公式ドキュメントと本チェックリストで対処
  5. Replit・Railway 等の無料クラウドへデプロイし、環境変数だけで安全に運用

上記を順に実践すれば、初心者でも 30 分以内に動く Discord Bot を手元に作成でき、次のステップとしてコマンド追加やデータベース連携といった高度機能へスムーズに移行できます。 Happy coding!

スポンサードリンク

-Discord
-, , , , , , , , , ,