我一直在改进和改进我的机器人。 现在,我已经想出了如何制作机器人清除消息,但是清除消息不应该被允许给任何成员,只能给具有特定角色的人。
我已经完成了这段代码:
if author.roles.has("BotModerator"):
我已经在这个网站 (https://anidiotsguide.gitbooks.io/discord-js-bot-guide/information/understanding_roles.html) 上找过了,但似乎他们是用 Java 编码的,我怎么能用 Python 做呢?
顺便说一下,输出中显示的错误是“list”对象没有属性“has”
最佳答案
User
拥有的角色是 role
对象的列表,您需要访问角色的名称属性。您可以使用列表理解。
if "botmoderator" in [y.name.lower() for y in author.roles]:
当然,这将命令限制为仅具有特定角色 BotModerators 的人。它不能在另一台服务器中使用,除非它们也具有称为 BotModerator 的角色。我建议您改用 id。如果您不知道如何操作,请标记角色,然后在名称前加一个反斜杠,然后发送。应该向您显示角色的 ID。然后您可以改用它。
if "role_id" in [y.id for y in author.roles]:
关于python - 如何获取用户的角色,Discord,Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44893044/