不和谐角色的格式

时间:2019-08-20 07:34:53

标签: python discord.py

我正在制作Discord机器人,但是在该机器人确定作者权限的那一部分上,它无法识别角色,“所有者”和“ admin”等贵重物品是该角色的ID,格式为discord.Role?

我尝试使用ID和名称创建课程

perms = 0

if moderator in message.author.roles:
 perms = 1

if admin in message.author.roles:
 perms = 2

if owner in message.author.roles:
 perms = 3

if muted in message.author.roles:
 perms = -1

现在,由于我的角色是“所有者”,它的烫发输出为0,尽管应该为3。

1 个答案:

答案 0 :(得分:0)

根据discord.py文档member.roles(在您的情况下为message.author.roles),返回Role类实例的列表,而不是角色ID(documentation entry)。 您也可以在documentation中阅读有关Role类的信息。

如果要检查成员是否具有具有指定ID的角色,可以首先获取其角色ID的列表:

perms = 0
ids = [role.id for role in message.author.roles]

if moderator in ids:
 perms = 1

if admin in ids:
 perms = 2

if owner in ids:
 perms = 3

if muted in ids:
 perms = -1