前回はDiscord.js向けに書きましたが、今回はDiscord.py向けです。
前提条件
既にPython3でDiscord.pyが動く前提で書きますので、環境を揃えてからお願いします。
実行方法等も特に説明しません。
コードの内容
同じ名前のチャンネルが複数のサーバーにある事を想定して書いてます。
なので、BOTがいる全てのチャンネルを読み込むような動作をします。
そうで無い場合はもっと無駄の少ないコードになると思います。
import discord
client = discord.Client()
TOKEN = "<Token>"
@client.event
async def on_ready():
ch_name = "チャンネル名"
for channel in client.get_all_channels():
if channel.name == ch_name:
await channel.send("起動しました")
client.run(TOKEN)
これだけです。
コードの説明
Discord.pyを読み込んで、変数「Discord」に代入します。
import discord
Discordにクライアント接続をします。
client = discord.Client()
トークン変数に代入しておきます。
の箇所にはあなたのBOTのトークンを入れてください。
TOKEN = "<Token>"
BOTのクライアントが起動したときに実行します。
@client.event async def on_ready():
BOTが接続している全チャンネルの情報を順番にchannel
に代入して、チャンネルの数だけ繰り返します。
for channel in client.get_all_channels():
チャンネルの名前がch_nameと一致したら実行します。
if channel.name == ch_name:
指定したチャンネルに「起動しました」と送信します。
await channel.send("起動しました")
トークンを読み込んでクライアントを実行します。@client.event
より前に書くと読み込まなくなってしまうので、必ず最後に書いてください。
client.run(TOKEN)
以上です。
間違い等があれば、Discordまでご連絡ください。
このソースコードはGitHubに掲載しています。