Zenn
💡

Discord.py初心者に贈る、DiscordBotテンプレート

2025/04/02に公開

こんにちは!Discord.pyを使ったボット開発、始めていますか?ボット開発は非常にシンプルで、ついついボットを量産してしまいがちですよね。そこで、そんな時に便利なテンプレートを作成しました。このテンプレートを使って、あなたのボット開発をよりスムーズに、そして効率的に進めてみてください!

テンプレートの概要

このテンプレートは、簡単にカスタマイズ可能で拡張性が高い構成になっています。以下のようなファイル構成になっており、bot.py がボットのベースとなり、config.yml で設定を行い、機能追加は cogs フォルダ内で管理できます。

  • bot.py: ボットのベースファイル
  • config.yml: コマンドプレフィックスなどの設定ファイル
  • .env.example: ボットトークン設定ファイルの例

これだけで、基本的なボットがすぐに稼働します。

使い方

1. Python仮想環境を作成

まず、Pythonの仮想環境を作成しましょう。仮想環境を使うことで、必要なパッケージが他のプロジェクトと干渉しないようにできます。

python -m venv venv
source venv/bin/activate  # Windowsの場合は "venv\Scripts\activate"

2. 必要なパッケージをインストール

次に、必要なパッケージをインストールします。

pip install discord python-dotenv PyYAML

3. .env ファイルにボットトークンを設定

.env ファイルに、以下のように Discord トークンを設定します。これはボットがDiscord APIに接続するために必要です。

DISCORD_TOKEN=<your_discord_token>

4. config.yml でコマンドプレフィックスを設定

config.yml ファイルを開き、ボットのコマンドプレフィックスを設定します。例えば、以下のように設定できます。

prefix: "!"

5. ボットを実行

すべての設定が完了したら、bot.py を実行するだけでボットが起動します。

python bot.py

これだけで、基本的なボットが稼働します!

cogsの作成方法

ボットに新しい機能を追加するのはとても簡単です。cogs フォルダ内に新しいファイルを追加することで、機能をモジュールとして管理できます。例えば、ping コマンドを追加したい場合は、以下のように記述します。

import discord
from discord.ext import commands

class General(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @discord.app_commands.command(name="ping", description="ボットのレスポンスを確認します")
    async def ping(self, interaction: discord.Interaction):
        """ボットのレイテンシ(応答速度)を表示します。"""
        latency = self.bot.latency * 1000
        await interaction.response.send_message(f"Pong! レイテンシ: {latency:.2f} ms")

async def setup(bot):
    await bot.add_cog(General(bot))

このように、cogs フォルダに追加するだけで、新しい機能がボットに反映されます。bot.py のコードを変更する必要はなく、ボットを再起動すれば、新しいコグが自動で認識されます。

最後に

このテンプレートを使えば、Discordボットの開発がもっとシンプルに、もっと楽しくなります。ぜひ試してみてください!さらに、私が開発している Swiftly というボットも導入していただけると嬉しいです。Swiftly は、あなたのDiscordサーバーをより快適にしてくれる便利な機能がたくさん詰まったボットです。

Swiftlyの導入はこちらから
https://discord.com/discovery/applications/1310198598213963858

Discussion

ログインするとコメントできます