Discord Bot 開発を始める前に
Bot を本当に作るべきかの判断、プログラミング未経験からの学習の道筋、Bot / App / Application という用語の整理まで、開発に入る前に知っておくべきことをまとめます。
この記事で分かること
- 作る前に確認すべきこと(既存 Bot・標準機能との比較)
- プログラミング未経験からの現実的な学習ルート
- Bot / App / Application の用語の違い
- 最初の一歩の踏み出し方
Bot 開発は楽しく、学習題材としても優れています。ただし「作りたい機能」が本当に自作 Bot を必要とするかは、始める前に一度確認する価値があります。この記事では、判断・学習の道筋・用語の整理をまとめます。
作るべきかを判断する
自作しなくて済む場合
次で解決できるなら、開発・運用のコストを掛けずに済みます。
- Discord の標準機能: AutoMod、ロールの自動付与、オンボーディング、Webhook による外部サービスからの通知など
- 既存の公開 Bot: 定番の機能(音楽、ログ、モデレーション)は実績ある Bot が既にあります(Bot 導入ガイド参照)
自作する価値がある場合
- 自分のサーバー固有のルール・ワークフローを自動化したい
- 外部サービスや自作システムと連携させたい
- プログラミングの学習題材として作りたい(十分立派な理由です)
確認ポイント
- 実現したい機能を「こういう時に、こう動く」形式で書き出した
- 標準機能・既存 Bot で足りないことを確認した
- 24時間動かす必要があるか、自分がいる時だけ動けばよいかを決めた
用語を整理する:Bot / App / Application
Discord の開発ドキュメントでは似た用語が使い分けられています。最初に整理しておくと混乱しません。
- Application(アプリケーション): Developer Portal 上で作成・管理する単位。OAuth2 の設定や各種機能の器になるものです
- Bot: Application に紐づく、サーバー内で動く自動化アカウント。Gateway(WebSocket)や API を通じて動作します
- App(アプリ): 利用者から見た総称。Bot や Activity を含む「Discord 上で利用できるアプリ」を指すことが多い表現です
つまり開発者は「Developer Portal で Application を作り、その中の Bot をサーバーに招待する」ことになります。Developer Portal の具体的な画面と設定は Discord Developer Portal 解説で扱います。
学習の道筋
プログラミング未経験の場合
Bot 開発でよく使われる言語は Python(discord.py)と JavaScript(discord.js)です。どちらを選んでも問題ありません。
- Python / discord.py: 文法がシンプルで、初心者向けの日本語情報が豊富です
- JavaScript / discord.js: Web 開発と地続きで、将来 Web 側にも興味があるなら有力です
未経験からの現実的な順番は次の通りです。
- 選んだ言語の基本文法(変数、条件分岐、ループ、関数)を入門書や入門サイトで一通り学ぶ
- 公式ドキュメントのチュートリアルに沿って、最小の Bot(呼びかけに応答するだけ)を動かす
- 作りたい機能を小さく分解して、1つずつ足していく
⚠️ ネット上のサンプルコードは古い場合があります。Discord API もライブラリも変化してきたため、公式ドキュメントの現行バージョンを基準にし、古い記事のコードはそのまま使わないようにします(詳しくは古い記事・バージョン差FAQ)。
学習中につまずいたら
エラーが出るのは正常な学習過程です。エラー全文を読む習慣(【Traceback・例外名読み方FAQ】)と、公式ドキュメントで確認する習慣をつけると、自力で解決できる範囲が広がります。コミュニティで質問する際は、エラー全文・実行環境・試したことを添えると回答が付きやすくなります。
最初の一歩
- Discord Developer Portal 解説を読みながら Application と Bot を作成する
- テスト用の自分専用サーバーを作り、そこに Bot を招待する
- discord.py または discord.js のガイドで最小 Bot を動かす
確認ポイント
- テスト用サーバーを用意した(本番サーバーでいきなり試さない)
- Token をコードに直書きせず、環境変数などで管理する方法を確認した
- 公式ドキュメントの場所をブックマークした