備忘録として残しておきます。
Bot の作成
-
Discord Developer Portal にアクセスし "New Application" からアプリケーションを作成する。
※ このとき Discord のアカウントが必要。 - メニューの "Bot" から "Build-A-Bot" > "Add Bot" する。
これで Bot 自体の作成は OK。
"PUBLIC BOT" のチェックは外しておくとより安全かもしれない。
Bot をサーバーへ招待する
- メニューの "OAuth2" から "URL Generator" を選択する。
- "SCOPES" で "bot" を選択し、"BOT PERMISSONS" で Bot に与える権限を選択する。
- "GENERATED URL" に生成された URL が表示されるので、その URL にアクセスする。
生成された URL の一例
https://discord.com/api/oauth2/authorize?client_id=XXXXXXXXXXXXXXXXXXX&permissions=8&scope=bot
- 追加させるサーバーを選択すれば、そのサーバーに招待できる。
discord.py
で Bot を稼働させる
discord.py
とは
- Discord Bot を製作するための API ラッパー。( 公式ドキュメント )
- 開発は終了しているため、今後の Discord の環境変化についていけなくなる可能性があるため注意が必要。
Bot プログラムの作成・起動
Python でプログラムを作成する。
ここで、Bot のアクセストークンが必要になるので控えておく。
トークンは Discord Developer Portal の "Bot" > "Build-A-Bot" > "TOKEN" でコピーできる。
-
サンプルコード
sample_bot.pyimport discord # Bot のアクセストークン DISCORD_BOT_TOKEN = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # 接続に必要な設定/オブジェクト intents = discord.Intents.default() intents.message_content = True client = discord.Client(intents=intents) # 起動時に動作する処理 @client.event async def on_ready(): # 起動したらターミナルに通知する print("YOUR DISCORD BOT is ACTIVE now!") # メッセージ受信時に動作する処理 @client.event async def on_message(message): # Bot からのメッセージは無視する if message.author.bot: return # Hello と送られたら Hi! と返す if message.content == "Hello": await message.channel.send("Hi!") # Bot の起動と Discord サーバーへの接続 client.run(DISCORD_BOT_TOKEN)
-
Bot の起動
プログラムの実行python sample_bot.py
Bot がいるサーバーで "Hello" と送れば Bot が "Hi!" と返してくれるはず。