Discordサーバーのすべてのチャンネルに同時にメッセージを送信するにはどうすればよいですか?
別の投稿からこのコードを使用しましたが、コマンドを実行しても応答がありません。
@client.command(pass_context=True)
async def broadcast(ctx, *, msg):
for guild in bot.guilds:
for channel in guild.channels:
try:
await bot.send_message(channel, msg)
except Exception:
continue
else:
break
client
いくつかの場所やbot
他の場所で使用したことがありますが、このコードは、1つのサーバーからのみ呼び出すときにギルドを反復処理する必要がないため、あまり効率的ではありません。これにより、複数のサーバーでスパムが発生します。また、古いバージョンのの関数を使用していることにも気づきましたdiscord.py
。代わりにこれを使用してみてください:
@client.command()
async def broadcast(ctx, *, msg):
for channel in ctx.guild.text_channels:
try:
await channel.send(msg)
except:
continue
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加