按 ID 获取 Discord 角色

Posted

技术标签:

【中文标题】按 ID 获取 Discord 角色【英文标题】:Get a Discord Role by Id 【发布时间】:2019-02-26 16:49:39 【问题描述】:

我正在制作一个 Discord 机器人,但遇到了问题。

我想修改一个角色。一个特定的角色。我知道如何使用edit_role 做到这一点,但我需要获取角色对象来编辑它。现在,这就是问题所在。

我如何通过角色的 id 获取 Role 对象?或者我可以在 Role 参数中使用 id

【问题讨论】:

【参考方案1】:

如果你有 id,你可以简单地使用Guild.get_role(role_id) 来获取角色。

role_id = 2134532534
role = my_server.get_role(role_id)

【讨论】:

【参考方案2】:

您可以使用discord.utils.get 循环访问Guild.roles 并获取您要查找的内容:

from discord.utils import get

role_id = 123
role = get(guild.roles, id=role_id)

【讨论】:

guild.rolesmessage.server.roles 一样还是我编的? 在重写版本中,server 被重命名为 guild,这是所有 discord 文档中的名称。

以上是关于按 ID 获取 Discord 角色的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 创建一个角色并在之后立即获取它的 id

Discord.py:检查用户是不是具有列表中的角色 ID 不起作用

discord.py 按内容获取消息

Discord.js:按 ID 获取消息给出错误的输出

Discord.js - 过滤在对象中具有特定角色的人

如何添加 ID 保存在 JSON 文件 discord.js v12 中的角色?