なぜ作ろうと思ったのか
・discord botの作り方を調べたときにintentsが含まれていない旧式のコードが見受けられるため
・単純に暇であるため
実行環境
Windows 11 Pro x64
Python 3.12.3 (新しくて感動)
準備
Pythonのインストール
discord.pyのインストール
discord botのtokenを取得
(これらは他の記事等に大量に記載されてるので割愛)
実装
windowsを想定して作成しているのでエクスプローラーを開いて空白部分を右クリックから新規作成でテキストファイル等を作成、名前を変更から拡張子を.pyにする。
ちょっとめんどくさくなってきたので
次のコードをコピー&ペーストしてみましょう
初心に戻って基礎的なコードを書いてみました
# 確実に必要なコードたち
import discord
token = '準備で記載したbotのtokenをここに入力'
# 人によってtokenを環境変数に入れろとか言ってくるのですが
# めんどくさいし初心者には難しい、あと自分はこうするのでこっちにします
intents = discord.Intents.all()
client = discord.Client(intents=intents)
@client.event
async def on_ready(): # 接続した際に呼び出される
print(f'ログインしました {client.user}')
@client.event
async def on_message(message): # 参加しているサーバーなどでメッセージが送られた際に呼び出される
if message.author == client.user: # 送信者がbot自身かどうかを調べる
return # キャンセル
if message.content.startswith('!hello'): # 文字が"!hello"から始まる場合
await message.channel.send("こんにちは!") # "こんにちは!"と送信元のチャンネルに送信
client.run(token) # botを起動するコマンド(これも絶対にいる)
実行結果
実行して何かエラーが出た人はおそらくintentエラーです
discord developer potalでbotタブのintentから設定できます
まとめ
簡単なメッセージを返すコードが完成しました
たまにはこういう簡単なコードを書くのも悪くないですね
説明が滞りない部分があるのはもう優しさでスルーしてください;
宣伝
実行の際のBOT名に含まれてますが、DNXS.xyzというサービスを作りました!
自宅サーバーやVPSのIPなどを無料でドメイン化できます
こういうことに興味のある人達があつまるのでサービス利用目的でなくても
コミュニティ参加という意味で参加してくれると嬉しいです!
https://discord.gg/M2bQGhpUnV
やばい充電9% w