【发布时间】:2019-10-25 01:27:32
【问题描述】:
我想测试一个用户是否具有两个特定角色之一,但由于某种原因,我编写的代码总是返回 false。
我还尝试了另一种方法,它总是返回 true。在 discord.py discord 服务器上也没有得到答案
#first approach. always returns false
def isMod(user):
for role in user.roles:
if role.id==587614886771687445:
return True
elif role.id==587615608279924756:
return True
return False
#second approach. always returns true
def isMod(user):
if discord.utils.get(user.roles, id=587614886771687445) is None and discord.utils.get(user.roles, id=587615608279924756):
return False
else:
return True
如果用户具有给定 id 的一个或两个角色,它应该返回 true;如果没有,则返回 false。
【问题讨论】:
-
user是您期望的用户吗? -
您使用的是什么版本的 discord.py?您可以
print(discord.__version__)查看。 -
我使用的是 0.16.12
标签: python bots discord roles discord.py