こんにちは。
Discordを使っていると、
- DiscordのサーバーにBotを導入して便利にしたい!
- DiscordのBotでPythonを勉強したい!
そう思うこと、ありませんか?
今回はそんな方にDiscordのBotをPythonで作る方法を解説します。
環境
Python3系が動く環境であればOSはなんでも良いです。
Botユーザーの作成
以下のサイトにアクセスします。
次に、New Applicationをクリックします。

Nameという欄にBotに付けたい名前を入力してCreateを押してください。
アイコンは好きは画像に変更しましょう。
Botの作成後も、アイコンや名前はいつでも変更することができます。

変更後はSave Changesを忘れずに押しましょう。

Botタブを開き、Add Botをクリックします。

Yes,di it!をクリック。

これでBotユーザーの作成は完了です。
Botをサーバーに招待する
Botを作ってもサーバーにいなかったら意味がないのでサーバーに招待します。
- OAuth2タブを選択
- URL Generatorを選択
- 画面中央のBotにチェッ

下の方にあるURLにアクセスすると認証画面が表示されるので、招待したいサーバーを選択して認証します。

これで、Botの作成と招待は完了です。
Pythonで機能を追加する
Botは完成しましたが、このままではただの置物なのでPythonを使ってカスタマイズします。
余談ですが、Pythonの環境構築・基本的な使い方をしっかり理解したいという方は、こちらの本がおすすめです。
Discord.pyのインストール
以下のコマンドでdiscord.pyを使えるようにします。
Windowsの場合
py -3 -m pip install -U discord.py
Windows以外の場合
python3 -m pip install -U discord.py
トークンとチャンネルIDの取得
トークンは先ほどのサイトからコピーします。
Copyをクリックすると勝手にコピーされます。

チャンネルIDはBotを招待したサーバーの、Botと会話したいチャンネルを右クリックして、IDをコピーから取得できます。

Pythonでコーディング
discord_bot.pyというファイルを作成し、以下の内容を書き込みます。
コピペでOKです。
内容はおうむ返しです。
import discord
TOKEN = 'ABCD0123' # TOKENを貼り付け
CHANNELID = 0123456789 # チャンネルIDを貼り付け
client = discord.Client()
@client.event
async def on_ready():
print('ログインしました')
@client.event
async def on_message(message):
if not message.author.bot:
channel = client.get_channel(CHANNELID)
await channel.send(message.content)
print(message.content)
client.run(TOKEN)
ファイルを保存したら、実行してみましょう。
python3 discord_bot.py
ログインしました
数秒経ってから、「ログインしました。」と出れば成功です。
実行方法はシェルから出なくても大丈夫です。
終了するときはCtrl + Cキーを押してください。
Botを動かしてみる
まず、Botを起動します。
python3 discord_bot.py
ログインしました
ログインできたら、チャンネルにメッセージを送ってみましょう。
Botがおうむ返ししてきました!
お疲れ様でした。
もし分からない、できないということがあれば、Twitterからご気軽にお問い合わせください。
アレンジの記事もよかったら見ていってください。
参考ページ
簡単なDiscord Botの作り方(初心者向け)
https://note.com/bami55/n/ncc3a68652697
コメント