如果某人拥有特定的权限/角色,则使他们免于脏话过滤器 discord.py

时间:2021-03-25 17:13:27

标签: python discord.py

所以我为我的不和谐机器人制作了一个脏话过滤器,它运行良好。我希望它不会影响具有特定角色或权限的人。我知道如何使用装饰器 @commands.has_role("name") 和 @commands.has_permissions([ban_members=True, kick_members=True]) 但我不知道如何在我的机器人中实现它。这是代码

@commands.Cog.listener()
  async def on_message(self, message):
    if not message.author.bot:
      if profanity.contains_profanity(message.content):
        await message.delete()
        await message.channel.send("You can't say that here")

任何帮助将不胜感激。 谢谢!

1 个答案:

答案 0 :(得分:1)

如果消息具有以下属性公会,您可以检查您在消息作者角色中的角色:

if not message.author.bot:
  if message.guild:
    if your_role in message.author.roles:
      return