こんにちは。ようこそチョビブログへ!
今回は Discord Bot の作り方を記事にしていきます!
これは初心者向けの記事です。きちんと細部まで読んで慎重に作業していきましょう。
必要なもの
Discord Botを作るのに必要なものです。
Windows 10 (macでもできますが今回はWindows 10 での説明になります)
Python3 (プログラミング言語です。今回はPythonという言語で作ります)
Vscode (コードを書くためのエディターです。メモ帳みたいなもの)
前提知識
ある程度のプログラミングスキル。
こちらはプログラミング入門やったよーとか、print とか if とかわかるよーくらいだったらおkです!
Pythonで入門していなくてもそれに関連した関数の使い方を調べればすぐ出てくるので、わからなくなったら調べるだけです!
それではやっていきましょう!
ディスコードボットを作る
まずは、新たにボットを作らなければなりません。
ディスコードの開発者用サイトでボットを登録し、そのボットのトークンと呼ばれる鍵のようなものを使い、自分のパソコンでボットを動かすイメージで進めていきます。
ボットの作成や管理などは Discord Developer Portal のサイトでできます。
https://discord.com/developers/applications
こちらに自身のディスコードアカウントでログインしてください。
ディスコードアカウントで管理されるので二段階認証など、容易にアカウントが取られないようにする工夫が必要です。
もしあなたのボットが盗まれた際にそのボットが入っているほかのサーバーにも迷惑が掛かる可能性を忘れてはいけません。
New Application
portal の application の右上にある New Application で新しくアプリケーションを作ります。
NAME は好きなもので良いです。(後から変更可)

こちらで名前やアプリケーションのアイコンが設定できます。
ボットを作る
次にアプリケーションにボットを登録していきます。
サイドメニューにある Bot をクリックして、右側の Add Botでボットを作ります。

こちらがボット作成時の画面になります。
このボットを誰かに追加されたくない場合は PUBLIC BOT をオフにします。

Reset Token を押して Token をゲットしましょう!!
のちに 使います。
ボットを招待
作成したボットをディスコードサーバーに招待しましょう。
Oauth -> URL generator から 招待URLを作成しましょう。

botにチェックボックスを入れると下に権限選択のボックスが表示されます。

とりあえず今回はメッセージを送信する権限だけ付与します。
そしたら下の URL をコピーします。

そのURLにアクセスしてサーバーに招待しましょう!
※管理者権限がないと BOT を招待できません。テストサーバーを作って招待するか、管理者権限を持っている鯖でやりましょう。

ライブラリインストール
今度は Discord Bot を Python で動かすための ライブラリをインストールしましょう。
ライブラリなしでもできますが、使ったほうが百倍楽です!
それでは コマンドプロンプトを起動して インストールしていきましょう。
Windows マークをクリックして 「コマンドプロンプト」と入力し起動しましょう。
そしたらこちらのコマンドを実行。
py -3 -m pip install -U discord.py

ほかの方法はこちら -> https://discordpy.readthedocs.io/ja/latest/intro.html
コーディング
次に Vscode でコードを書いていきます。
こちらのページの一番下に quick start のコードが載っています。
※そちらのページには message intent を使う方法が書かれていますが、2022 年 9月からのようなので、それ以降にこの記事を見ている方はそのquicikstartを使ってください。
有名なライブラリやフレームワークだとこのように最初にコピペでとりあえず動かせるようなコードが用意されていることが多いです。
今回は下のコードで動かしていきます
import discord
client = discord.Client()
@client.event
async def on_ready():
print('Logged on')
@client.event
async def on_message(message):
if message.author.bot:
return
if message.content == 'kon':
await message.channel.send('こんちはー')
client.run("asdfasdfasdasdfasdfasdfasdfasdfdsafasdfasdfasdfasdfsdafasd") #<- こちらは自分のトークンに変えて
Vscodeの画面

TESTPROJECT というフォルダーの中に main.py というファイルを作りました。
早速 F5 キーを押して実行してみましょう!
メッセージのやり取り
なんのエラーも出ず正しく実行できたら自分のメッセージに応答してくれるはずです!
