如何让我的命令只禁止一个公会中的用户

2022-01-15 00:00:00 python discord.py

问题描述

  @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)

相关文章