これが私のコードです:
@client.command(pass_context=True)
async def banall(ctx):
await ctx.message.delete()
for user in list(ctx.guild.members):
try:
await ctx.guild.ban(user)
await ctx.send(f"{user.name} has been banned from {ctx.guild.name}")
except:
await ctx.send(f"{user.name} has FAILED to be banned from {ctx.guild.name}")
誰かが「banall」と言うと、サーバー内のすべてのメンバーが禁止されるようにしようとしています。このコマンドは機能することがわかりましたが、たとえば!banall "を使用すると、「!」を削除したいので、「banall」になります。これを行う方法を知っている人はいますか。ありがとうございます:D
on_message()
ます。これは、メソッドデコレータ(@client.command(pass_context=True)
)を削除しctx
、on_message()
関数がmessage
オブジェクトを取得するため、メッセージに変更することで実行できます。async def banall(message):
await message.delete()
for user in list(message.guild.members):
try:
await message.guild.ban(user)
await message.channel.send(f"{user.name} has been banned from {message.guild.name}")
except:
await ctx.send(f"{user.name} has FAILED to be banned from {ctx.guild.name}")
on_message()
。これは、メッセージの内容が「banall」であるかどうかを確認するifステートメントを使用して実行できます。@client.event
async def on_message(message):
if message.content == "banall":
await banall(message)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加