python - 如何检查作者是否在 x 服务器中具有 x 角色?

标签 python python-3.x discord.py

我正在尝试检查作者是否在 x 服务器上具有 x 角色以便能够使用该命令但无法使其工作。我只能检查 Author 在该服务器中是否具有 x 角色。

想法:如果用户在 x 服务器中具有 x 角色,将能够在任何服务器上使用特殊命令。

 role_id = 569712344226201600
 author = ctx.message.author

 if role_id in [role.id for role in author.roles]:
     await ctx.send("message")

最佳答案

你可以只获取角色对象。

role = discord.utils.get(ctx.guild.roles, id=role_id_here)

然后只是:

if role in ctx.author.roles:
...

您的机器人必须在这些服务器上。

关于python - 如何检查作者是否在 x 服务器中具有 x 角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56302218/

相关文章:

python - 比较 Python 中的(函数的)求根算法

python - 使用 python 编辑打开的文档

class - Python更新继承的类级别字典

python-3.x - 在Python 3中的Elasticsearch内部存储PDF文件的字节内容

python - 如何使用 Discord.py 向所有文本 channel 发送消息?

Python 3 - Discord 机器人

python - 如何从机器人向用户发送 DM 并通过 Discord.py 捕获响应

python - 在 pandas 数据框中使用 * 等效项查找并替换

python - 切换python版本

python-3.x - 用于 Python 3.5 的 Pyramid 应用程序的正确 Dockerfile 语法?