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

时间:2021-04-30 08:18:59

标签: 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)

这个命令会禁止用户在它所在的所有公会中,我如何让它只禁止我使用该命令的公会中的用户?

1 个答案:

答案 0 :(得分:1)

只需删除 for 循环并使用 ctx.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)