※本ページにはプロモーション(広告)が含まれています。

【2026年10月】Discord botの作り方|トークン発行から最小コード・動かし続ける方法まで初心者向けに解説

実測・公式情報にもとづいて執筆しています

【2026年10月】Discord botの作り方|トークン発行から最小コード・動かし続ける方法まで初心者向けに解説

「自分のDiscordサーバーに、話しかけたら返事をするbotを置いてみたい」と思って調べ始めると、「トークン」「Intent」「OAuth2」といった聞き慣れない言葉が次々に出てきて、どこから手を付ければいいのか迷ってしまう方が多いと思います。

結論から言うと、Discord botは次の5つのステップで作れます。

  1. Discord Developer Portal(Discordの開発者向け管理画面)でアプリを作り、botのトークン(botのパスワードにあたる文字列)を発行する
  2. メッセージの中身を読むための設定(Message Content Intent)をオンにする
  3. botを自分のDiscordサーバーに招待する
  4. Pythonのライブラリ「discord.py」で、数十行の最小コードを書く
  5. パソコンでコードを実行して、botが返事をするか確かめる

ここまではパソコン1台で、お金をかけずに進められます。お金がかかる可能性があるのは、完成したbotを「パソコンを閉じても24時間動かし続けたい」と思ったときだけです。

この記事の手順は、Discord公式の開発者ドキュメントとdiscord.py公式ドキュメントに書かれている流れを要約して紹介する形にしています。私自身はConoHa VPSを実際に運用していますが、この記事のbotの作成手順は公式ドキュメントに基づくもので、画面の細かな表記は変わることがあります。最新の画面は必ず公式ドキュメントで確認してください。ライブラリのバージョンやサーバー料金は2026年10月時点の公式情報です。


Discord botづくりの全体像

五つの踏み石が続く道の先でロボットが待ち、手前で女性が地図を広げて道のりを確かめている様子

最初に全体の地図を持っておくと、途中で迷いにくくなります。botづくりは大きく「Discord側の準備」と「プログラム側の準備」の2つに分かれます。

段階 やること 使うもの
Discord側の準備 アプリ作成・トークン発行・Intent設定・招待 Discord Developer Portal(ブラウザ)
プログラム側の準備 Pythonとdiscord.pyを入れ、最小コードを書く 自分のパソコン
動作確認 コードを実行して、botに話しかける パソコン+Discordアプリ
24時間稼働(必要な人だけ) botをサーバーに移して動かし続ける VPS(月額で借りるサーバー)

Discord側の準備はブラウザ操作だけで終わります。プログラム側も、最初は公式が用意している最小コードをほぼそのまま使えば十分です。いきなり高機能なbotを目指さず、「話しかけたら一言返す」botを動かすところまでを最初のゴールにすると、挫折しにくくなります。


準備するもの

机の上にパソコンとロボットの部品、小さな家の積み木が並び、組み立てを始めようとしている様子

始める前に、次の3つを用意しておきます。

  • Discordのアカウント: いつも使っているアカウントで構いません。
  • テスト用のDiscordサーバー: 公式ガイドでは、他の人が普段使っていないサーバーで作成とテストをするよう案内されています。自分専用のサーバーは無料で作れるので、テスト用に1つ作っておくと安心です。botを招待するには、そのサーバーの「サーバー管理」の権限が必要です。
  • Pythonが入ったパソコン: discord.pyの公式ドキュメントでは、Python 3.8以上で動くと案内されています(2026年10月時点の最新版はdiscord.py 2.7.1)。これから新しく入れる場合は、Python公式サイトの新しい安定版を入れておけば問題ありません。

プログラミングがまったく初めての方でも、この記事の最小コードはコピーして動かせます。ただ、「変数」「関数」くらいの言葉が分かるとエラーが出たときに落ち着いて対処できるので、気になる方はPythonの入門ページを一度眺めておくと安心です。


手順1:Developer Portalでアプリを作り、トークンを発行する

光る鍵を手に取り、無地の小さな金庫へ大切にしまおうとしている男性

discord.py公式ドキュメント「Creating a Bot Account」とDiscord公式の「Building your first Discord Bot」では、おおむね次の流れが案内されています。

  1. ブラウザでDiscordにログインした状態で、Discord Developer Portalのアプリケーションページを開く
  2. 「New Application」ボタンを押し、アプリに名前を付けて作成する
  3. 左側のメニューから「Bot」ページを開く
  4. 「Token」の欄でトークンを発行し、コピーする(Discord公式ガイドでは「Reset Token」で新しいトークンを生成する流れになっています)

ここで発行されるトークンは、botのパスワードそのものです。discord.pyの公式ドキュメントでも、トークンを他人に渡すと、そのbotに勝手にログインされてサーバーから退出させられたり、メンバーを一斉にBANされたりするおそれがあると強く注意されています。Discord公式ガイドでも、トークンは一度しか表示されないのでパスワード管理ツールなどに保管すること、Gitなどのバージョン管理に入れないことが案内されています。

なお、「General Information」ページにある「Client Secret」はトークンとは別物です。botのログインに使うのは「Bot」ページで発行するトークンのほうなので、取り違えないようにしてください。

もし誤ってトークンを公開してしまったら、すぐに「Bot」ページでトークンを作り直してください。古いトークンは使えなくなり、新しいトークンだけが有効になります。

参照先: Creating a Bot Account — discord.py / Building your first Discord Bot — Discord Developer Docs


手順2:Message Content Intentをオンにする

胸のスイッチが点灯したロボットが、封筒から出した手紙を読めるようになってうなずいている様子

初心者が最もつまずきやすいのがこの設定です。

Discordでは、botが受け取る情報の種類を「Intent(インテント)」という単位で選ぶ仕組みになっています。その中でも「メッセージの本文を読む」ための Message Content Intent は「特権インテント(Privileged Intent)」と呼ばれ、Developer Portalの「Bot」ページで自分でオンにしないと使えません。Discord公式ドキュメントでは、メッセージの本文・埋め込み・添付ファイルなどがこのIntentの対象だと説明されています。

この記事で作る「$hello と送ったら返事をするbot」は、メッセージの本文を読む必要があるので、次の操作をしておきます。

  • Developer Portalの「Bot」ページで、Privileged Gateway Intentsの中の Message Content Intent をオンにして保存する

これを忘れると、プログラムは正常に起動しているのに、botが何も反応しない(本文が空のまま届く)という状態になりがちです。「動いているのに返事をしない」と感じたら、まずここを確認してください。

なお、botが100以上のサーバーに参加するようになると、Discordの認証(Verification)が必要になり、特権インテントも審査で承認を受ける必要があると公式に案内されています。自分や友人のサーバーで使う範囲なら、まずは気にしなくて大丈夫です。


手順3:botを自分のサーバーに招待する

開いた扉の家に、封筒を抱えた小さなロボットが笑顔で迎え入れられている様子

作ったbotは、まだどのサーバーにも参加していません。discord.py公式ドキュメントでは、次の流れで招待用のURLを作る方法が紹介されています。

  1. Developer Portalで自分のアプリを開く
  2. 「OAuth2」の中の「URL Generator」を開く
  3. 「Scopes」で bot にチェックを入れる
  4. 「Bot Permissions」で、botに必要な権限にチェックを入れる(今回なら「メッセージを送信」「メッセージ履歴を読む」程度で十分です)
  5. 下に表示されたURLをブラウザで開き、招待先のサーバーを選んで「認証」する

Discord公式ガイドでは、「Installation」ページのインストールリンクから招待する方法も案内されています。どちらでも招待はできるので、画面に合わせて分かりやすいほうを使ってください。

権限選びで注意したいのは「Administrator(管理者)」です。discord.pyの公式ドキュメントでも、管理者権限を付けることの影響をよく理解するよう注意されています。最初は必要最小限の権限で招待し、足りなくなったら後から追加するほうが安全です。

招待が終わると、サーバーのメンバー一覧にbotがオフライン状態で表示されます。オンラインになるのは、次の手順でプログラムを動かしたときです。


手順4:discord.pyで最小のbotを書く

短い色の帯が並ぶパソコン画面の横で、小さなロボットが目を覚まして起き上がろうとしている様子

ここからはパソコンでの作業です。discord.pyの公式ドキュメントでは、まずライブラリを次のコマンドで入れるよう案内されています(Windowsでは python3 の代わりに py -3 を使います)。

python3 -m pip install -U discord.py

公式ドキュメントでは、ほかのプログラムとライブラリが混ざらないように「仮想環境(venv)」を作ってから入れる方法も紹介されています。慣れてきたら仮想環境を使うのがおすすめです。

次に、公式クイックスタートの「A Minimal Bot(最小のbot)」をもとにしたコードを、example_bot.py という名前で保存します。公式のコードではトークンを直接書いていますが、うっかり公開してしまう事故を防ぐため、ここではトークンを環境変数(パソコンに一時的に覚えさせておく設定値)から読む形に変えています。

import os
import discord

# メッセージの本文を読むために message_content を有効にする
intents = discord.Intents.default()
intents.message_content = True

client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print(f"ログインしました: {client.user}")

@client.event
async def on_message(message):
    # bot自身の発言には反応しない
    if message.author == client.user:
        return

    if message.content.startswith("$hello"):
        await message.channel.send("Hello!")

client.run(os.environ["DISCORD_TOKEN"])

このコードがやっていることは3つだけです。

  • on_ready: botのログインが完了したら、画面に「ログインしました」と表示する
  • on_message: メッセージを受け取るたびに呼ばれる。bot自身の発言は無視する
  • $hello で始まるメッセージが来たら、同じチャンネルに「Hello!」と返す

公式ドキュメントでは、ファイル名を discord.py にしないよう注意されています。ライブラリと同じ名前になって読み込みがぶつかるためです。example_bot.py や mybot.py のような名前にしてください。

参照先: Introduction(インストール)— discord.py / Quickstart — discord.py


手順5:動かして確かめる

スマホに返事が届いたのを見て、女性が小さくガッツポーズをしている様子

保存したら、トークンを環境変数に入れてからコードを実行します。

macOS・Linuxの場合:

export DISCORD_TOKEN="ここに発行したトークン"
python3 example_bot.py

Windows(PowerShell)の場合:

$env:DISCORD_TOKEN="ここに発行したトークン"
py -3 example_bot.py

画面に「ログインしました: (botの名前)」と表示されれば、botはオンラインになっています。Discordでテスト用サーバーのチャンネルに $hello と送り、botが「Hello!」と返してくれたら完成です。

うまくいかないときは、次の順番で確認すると原因を見つけやすくなります。

症状 よくある原因
起動直後にエラーで止まる トークンの貼り間違い、環境変数の設定忘れ、トークンの作り直しで古いものを使っている
ModuleNotFoundError が出る discord.pyが入っていない、別のPython(仮想環境)で実行している
起動はするが返事をしない Message Content Intentがオフ、botにそのチャンネルの送信権限がない
botがサーバーにいない 招待URLの「Scopes」で bot にチェックを入れ忘れた

ここまで来れば、あとは on_message の中身を変えるだけで、いろいろな返事をするbotに育てていけます。


JavaScript(discord.js)で作りたい場合

二本に分かれた道のどちらの先にも、同じ形の小さなロボットが待って手を振っている様子

Discord botは、JavaScriptのライブラリ「discord.js」でも作れます。2026年10月時点の最新版はdiscord.js 14.27.0で、Node.js(JavaScriptをパソコンやサーバーで動かすための実行環境)が必要です。必要なNode.jsのバージョンは公式ドキュメントで案内されているので、インストール前に確認してください。

PythonとJavaScriptのどちらを選ぶかは、「すでに少しでも触ったことがあるほう」で決めて構いません。どちらを選んでも、手順1〜3(Developer Portalでの準備)はまったく同じです。この記事ではPythonを例にしましたが、途中で言語を変えたくなっても、Discord側の設定はそのまま使えます。

参照先: discord.js 公式ドキュメント


完成したbotを24時間動かすには

パソコンを閉じて眠る人の窓の外で、遠くの建物のロボットが夜通し働いている様子

ここまでの方法では、botは自分のパソコンでプログラムを動かしている間だけオンラインです。パソコンをスリープしたり電源を切ったりすると、botもオフラインになります。

「友だちと使うサーバーで、いつ話しかけても返事をしてほしい」という段階になったら、botのプログラムをVPS(データセンターにあるサーバーを月額で借りるサービス)に移して動かすのが現実的です。Discord botのように「起動したらずっと待ち受け続ける」プログラムは、常に電源が入っているサーバーと相性が良いからです。

シンプルな返事をするbotであれば、メモリ1GBのプランから始められます。代表的な2社の料金は次のとおりです(2026年11月時点・税込・公式サイトより)。

サービス プラン CPU / ストレージ 1ヶ月契約 12ヶ月契約 36ヶ月契約
ConoHa VPS メモリ1GB 2コア / SSD 100GB 763円/月 588円/月 542円/月
シンVPS メモリ1GB(大容量メモリプラン) 1コア / NVMe 30GB 750円/月 671円/月 451円/月

※ ConoHa VPSは「まとめトク」の更新時の月額です。キャンペーン期間中は初回料金がこれより安くなることがあります。時間課金(1GBは1.9円/時・月の上限1,065円)も選べます。 ※ シンVPSは初回と更新が同じ金額で、最低利用期間は3ヶ月です。どちらの長期契約も、契約期間分の料金を一括で前払いします。 ※ キャンペーンは定期的に開催されています。最新の内容は公式サイトでご確認ください。

私が実際に使っているConoHa VPSは、時間課金を選べば使った時間の分だけの支払いで済むため、「まず1回、サーバーでbotを動かしてみる」という試し方がしやすいサービスです。長く使うことが決まったら、まとめトクや他社の長期契約と比べて選ぶとよいでしょう。

VPSでbotを24時間動かすための具体的な手順(SSH接続、自動起動・自動再起動の設定、トークンの安全な置き方)は、次の記事で詳しく紹介しています。

最新の料金・キャンペーンは公式サイトで確認できます

ConoHa VPS 公式サイト

【重要】ConoHaは2026年10月24日から新規申込を停止しています(確認日: 2026-11-09、出典: https://www.conoha.jp/wing/)

最新の料金・キャンペーンは公式サイトで確認できます

シンVPS 公式サイト

よくある質問

Q. Discord botを作るのにお金はかかりますか?

この記事の手順1〜5(アプリ作成、トークン発行、招待、パソコンでの実行)にサーバー代はかかりません。discord.pyもMITライセンスのオープンソースのライブラリです。費用がかかるのは、botを24時間動かすためにVPSなどのサーバーを借りる場合です。

Q. プログラミング未経験でも作れますか?

この記事の最小コードはコピーして動かせるので、「話しかけたら返事をするbot」までは未経験でも到達できます。そこから機能を増やしていく段階では、Pythonの基本(変数・条件分岐・関数)を少しずつ覚えていくとスムーズです。

Q. トークンを誤って公開してしまったらどうすればいいですか?

すぐにDeveloper Portalの「Bot」ページでトークンを作り直してください。古いトークンは無効になります。新しいトークンでプログラムを起動し直せば、そのまま使い続けられます。GitHubなどにコードを置く場合は、トークンをコードに直接書かず、環境変数や .env ファイルで管理し、.env は公開しない設定にしておきましょう。

Q. スラッシュコマンド(/ で始まるコマンド)は作れますか?

作れます。discord.pyにはスラッシュコマンド(アプリケーションコマンド)を扱う仕組みがあり、Discord公式ガイドでもスラッシュコマンドの登録方法が紹介されています。まずはこの記事の最小botで動かし方に慣れてから、公式ドキュメントを見ながら追加するのがおすすめです。

Q. 大勢のサーバーで使ってもらうbotにしたい場合の注意点は?

Discord公式の案内では、100以上のサーバーに参加するbotには認証(Verification)が必要で、Message Content Intentなどの特権インテントも審査で承認を受ける必要があります。公開botを目指す場合は、早めにDiscord公式ドキュメントの該当ページを確認しておきましょう。

Q. パソコンでずっと動かしておくのではだめですか?

動かし続けられるなら問題はありません。ただ、パソコンのスリープ・再起動・停電・回線の切断のたびにbotは止まります。また、パソコンをつけっぱなしにする電気代や、パソコンが重くなる点も気になりやすいところです。安定して動かしたくなったらVPSへの移行を検討してください。パソコンで動かし続けるときのつまずきは、自動化スクリプトを自宅のパソコンで動かし続けるのが難しい理由にまとめています。


まとめ

Discord botは、次の5つのステップで作れます。

  1. Developer Portalでアプリを作り、トークンを発行する(トークンはパスワードと同じなので絶対に公開しない)
  2. 「Bot」ページでMessage Content Intentをオンにする
  3. OAuth2のURL Generatorで招待URLを作り、テスト用サーバーに招待する
  4. discord.pyを入れて、公式クイックスタートをもとにした最小コードを書く
  5. 実行して $hello に返事をしたら完成

最初の1体が返事をしてくれた瞬間は、思っている以上にうれしいものです。そこから「サーバーのルールを案内する」「決まった時間にお知らせを流す」など、自分のサーバーに合わせて少しずつ育てていけます。

そして「いつ話しかけても返事をしてほしい」と思ったら、それがVPSデビューのタイミングです。メモリ1GBのプランなら月数百円から始められるので、まずはパソコンでbotを完成させて、次の一歩としてサーバーでの24時間稼働に挑戦してみてください。

最新の料金・キャンペーンは公式サイトで確認できます

ConoHa VPS 公式サイト

【重要】ConoHaは2026年10月24日から新規申込を停止しています(確認日: 2026-11-09、出典: https://www.conoha.jp/wing/)

最新の料金・キャンペーンは公式サイトで確認できます

シンVPS 公式サイト

関連記事