如何让我的命令只禁止一个公会中的用户
问题描述
@commands.command(aliases=['hban'])
@commands.has_permissions(manage_messages=True)
@commands.cooldown(1,5,BucketType.user)
async def hackban(self, ctx, usid:int):
for guild in ctx.bot.guilds:
await guild.ban(discord.Object(id=usid))
embed = discord.Embed(title="<:Checkmark:837279790682734593> "+f"Successfully hack banned {usid}", color=discord.Color.dark_purple())
await ctx.send(embed=embed)
这个命令在它所在的所有公会中禁止用户,我如何使它只禁止我使用该命令的公会中的用户?
This command bans the user in all guilds it is in, how do I make it only ban the user in the guild I used the command in?
解决方案
只需去掉for循环,使用ctx.guild
作为公会
Simply remove the for-loop and use ctx.guild
as the guild
@commands.command(aliases=['hban'])
@commands.has_permissions(manage_messages=True)
@commands.cooldown(1,5,BucketType.user)
async def hackban(self, ctx, usid:int):
await ctx.guild.ban(discord.Object(id=usid))
embed = discord.Embed(title="<:Checkmark:837279790682734593> "+f"Successfully hack banned {usid}", color=discord.Color.dark_purple())
await ctx.send(embed=embed)
相关文章