Discord Botの作成方法まとめ【ローカル環境でのボットの作り方】


 

こんにちは。Tomoyuki(@tomoyuki65)です。

最近ちょっとだけですがDiscord用のBotの作り方を調べる機会があり、ローカル環境でのボットの作り方について理解が深まりました。

そこでこの記事では、Discord Botの作り方についてまとめます。

 



Discord Botの作成方法まとめ【ローカル環境でのボットの作り方】

Botの作成方法

ここからはDiscordのアカウントおよび、Botを招待するサーバーは作成済みということを前提として話を進めます。

まずはブラウザからDiscordのWeb版にアクセスしてログインし、その後「https://discord.com/developers/applications」にアクセスして下さい。

アクセス後、画面右上の「New Application」をクリックします。

 

次にポップアップが表示されるので、アプリ(Bot)の名前を入力し、規約に関するチェックを付けた後、画面右下の「Create」をクリックします。

 

これでアプリが作成されます。

 

次に画面左のメニューから「Bot」をクリックし、Build-A-Botの右側にある「Add Bot」をクリックします。

 

次にポップアップが表示されるので、「Yes, do it!」をクリックします。

 

これでBotが作成されます。この画面からBotのアイコンを変更できるほか、画面中央の「Copy」をクリックすると、Botのトークン値(アクセスキー)をコピーできます。

※トークン値は他人に共有しないようにご注意下さい。

 

続けて、画面下にあるPrivileged Gateway Intentsにある3つの項目(PRESENCE INTENT、SERVER MEMBERS INTENT、MESSAGE CONTENT INTENT)について、全て有効化します。

※全て有効化しないとBotが起動しませんでした。

 

次に画面左のメニューから「OAuth2>URL Generator」をクリックします。

 

次にSCOPESの項目にある「bot」にチェックを付けます。

 

チェックを付けると権限付与画面が表示されるので、Botに付与する権限にチェックを付けます。

今回は簡単な例として、「Read Messages\View Channels」(メッセージを読み込む)と「Send Messages」(メッセージを送信する)にだけチェックを付けます。

チェックを付けた後、画面右下にある「Copy」をクリックすると、Bot招待用のURLをコピーできます。

 

BotをDiscordサーバーへの招待方法

次にブラウザから上記でコピーしたBot招待用のURLにアクセスします。

そして外部アプリケーションの連携画面が表示されるので、Botを招待したいサーバーを選択後、画面右下の「はい」をクリックします。

 

続けて、画面右下の「認証」をクリックします。

 

続けて、「私は人間です」にチェックを付けます。

 

これでBotの認証が完了です。

 

上記で選択したサーバーを確認すると、テキストチャンネルに「〜がやってきました。」のメッセージが表示され、Botが連携されます。

 

ローカル環境でBot用のファイル作成方法

ここからはMacでpython3、pip3、VScodeなどのテキストエディタ、ターミナルを使える前提で話を進めます。

例えばMacなら最初からpython3(pip3)がインストールされていると思うので、ターミナルから以下のコマンドを実行してバージョンを確認してみて下さい。

$ python3 -V
$ pip3 -V

※それぞれバージョンが表示されればOKですが、インストールされていない場合はHomebrewから「pyenv」などをインストールして使えるようにして下さい。

 

次に以下のコマンドを実行し、Discord Bot用のパッケージ「discord.py」と、ローカルで環境変数用のファイル「.env」を使えるようにするためのパッケージをインストールします。

$ pip3 install discord.py
$ pip3 install python-dotenv

 

次に以下のコマンドを実行し、ファイルを置くための作業ディレクトリを作成します。

※ディレクトリ名は例として、「discord_bot」とします。

$ mkdir discord_bot

 

次に以下のコマンドを実行し、作業ディレクトリに移動した後に環境変数用のファイル「.env」と、Discord Bot用のファイル「main.py」を作成します。

$ cd discord_bot
$ touch .env
$ touch main.py

 

次にテキストエディタで作業ディレクトリを開き、上記でメモしておいたDiscord Bot接続用のトークン値(アクセスキー)を、環境変数「TOKEN」として.envファイルに記述します。

 

次にmain.pyにはBotにさせたい処理を記述しますが、今回は以下を例とします。

# discord.pyをインポート
import discord

# .envファイルからTOKENの値を読み込み
import os
from dotenv import load_dotenv
load_dotenv()

# 初期化
client = discord.Client(intents=discord.Intents.all())

# Botが正常に起動した際のイベント設定
@client.event
async def on_ready():
    print('Startup Success!!!')

# Botがメッセージを読み込んだ際のイベント設定
@client.event
async def on_message(message):
    # Botが出力したメッセージじゃ無い場合(この条件でBotのメッセージを弾く)
    if not message.author.bot:
        # 入力されたメッセージが「はじめまして」ならBotが「よろしくおねがいします」と出力する設定
        if message.content == 'はじめまして':
            await message.channel.send('よろしくおねがいします')

    # 上記と同様に2個目の設定
    if message.content == 'さようなら':
        await message.channel.send('またあいましょう')

# TOKENの値を読み込み、Botを起動させる
client.run(os.getenv('TOKEN'))

※テキストチャンネルに「はじめまして」と入力されたらBotが「よろしくおねがいします」を出力し、「さようなら」と入力されたらBotが「またあいましょう」を出力する処理になっています。

 

Botの起動確認

上記でBot用のファイルが作成できたので、以下のコマンドを実行し、Discord Botを起動させます。

$ python3 main.py

 

Botが正常に起動すると、下図のようにmain.pyで設定した起動メッセージが表示されます。

※起動させたファイルを停止させたい場合は、ショートカットキー「control + c」を入力します。また、main.pyの修正後は、ファイルを再起動して下さい。

 

これでDiscord Botが起動したので、動作確認してみます。

Discordのテキストチャンネルを開き、「はじめまして」と入力して下さい。

 

するとBotが「よろしくおねがいします」と出力します。

 

次に「さようなら」と入力します。

 

するとBotが「またあいましょう」と出力します。

 

これでDiscord Botの起動確認は完了です。後はBotにやらせたいことをmain.pyに記述すれば、お好みのBotにカスタマイズできます。

 

Discordに招待したBotの権限を変更したい場合

Botにやらせたい処理に応じて、権限の付与が必要になります。Discordに招待したBotの権限を変更したい場合は、招待したサーバーの設定から行います。

変更するにはまず、Discordの画面左上にあるメニューボタン「∨」をクリックします。

 

次にサーバーメニューから「サーバー設定」をクリックします。

 

次にメニューから「ロール」をクリックし、Bot用のロールの編集ボタンをクリックします。

 

これでロール編集画面が表示されるので、権限タブをクリックし、必要な権限を付与して下さい。

 



最後に

今回はDiscord Botの作成方法についてまとめました。

今回の例でDiscord Botを作成するための基本的な部分は押さえられたのではと思います。

後はBotにやらせたい処理に応じてmain.pyを修正するのと、main.pyを常時起動させられるようなサーバー関連のサービスがあれば、常時運用も可能です。

ということで、これからDiscord Botの作成をしたいと思っていた方がいたら、今回ご紹介した例をぜひ参考にしてみて下さい。

 

各種SNSなど

各種SNSなど、チャンネル登録やフォローをしていただけると励みになるので、よければぜひお願いします!

 

The following two tabs change content below.

Tomoyuki

SEを5年経験後、全くの未経験ながら思い切ってブロガーに転身し、月間13万PVを達成。その後コロナの影響も受け、以前から興味があったWeb系エンジニアへのキャリアチェンジを決意。現在はWeb系エンジニアとして働きながら、プロゲーマーとしても活躍できるように活動中。








シェアはこちらから


おすすめのゲーミングPCまとめ

近年、eスポーツという言葉が浸透し、ゲーミングPCの需要も増えましたが、「ゲーミングPCはどう選べばいいの?」という人も多いのではないでしょうか。そんなPC初心者でも迷わず選べるよう、おすすめのゲーミングPCをご紹介します!


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です