所以我为我的不和谐机器人制作了一个脏话过滤器,它运行良好。我希望它不会影响具有特定角色或权限的人。我知道如何使用装饰器 @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")
任何帮助将不胜感激。 谢谢!
答案 0 :(得分:1)
如果消息具有以下属性公会,您可以检查您在消息作者角色中的角色:
if not message.author.bot:
if message.guild:
if your_role in message.author.roles:
return