当尝试运行此代码时,没有任何反应。顺便说一句,没有错误。我得到了一个角色列表来让它发挥作用,但它没有。
rolelist = [822428355554312212,
822728446059741218,
823814683973779488]
check = ''
if rolelist in user.roles:
check += 'Bot Developer'
答案 0 :(得分:0)
你可以做到
if any(role.id in rolelist for role in user.roles):
...
<块引用>
嗯,它有什么作用?
每次迭代,它从用户那里获取一个角色,获取 ID,并检查 ID 是否在 rolelist
数组中。如果角色 id 在数组中,它会停止循环并执行它应该在 if 语句中执行的函数。
祝您有美好的一天!
答案 1 :(得分:0)
还有另一种方式。您可以使用内置的。
文档链接:https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.has_any_role
文档中的示例:
@bot.command()
@commands.has_any_role('Library Devs', 'Moderators', 492212595072434186)
async def cool(ctx):
await ctx.send('You are cool indeed')