2 回答
![?](http://img1.sycdn.imooc.com/545850200001359c02200220-100-100.jpg)
TA贡献1943条经验 获得超7个赞
在您的代码中,您做到了if AdminRoles in member.roles:。这意味着如果成员拥有所有AdminRoles. 所以你可以像这样改变你的代码:
AdminRoles = ["Moderation","Administration","Emperor"]
@client.command()
async def Commands(ctx):
member = ctx.author
for role in member.roles:
if role.name in AdminRoles:
ShowCommand = discord.Embed(
title = "Moderation Commands",
description = "All commands",
colour = discord.Colour.red()
)
await ctx.send(embed = ShowCommand)
return
ShowCommand = discord.Embed(
title = "Member Commands",
description = "All commands",
colour = discord.Colour.red()
)
await ctx.send(embed = ShowCommand)
在此代码中,如果成员有任何一个AdminRoles,则将发送审核命令。
![?](http://img1.sycdn.imooc.com/54586425000103f602200220-100-100.jpg)
TA贡献1821条经验 获得超4个赞
您正在查看列表是否AdminRoles在 member.roles 内部,整个列表如下:
if ["a","b","m"] in members.roles:
但您希望 AdminRoles 中的一项位于 Members.role 内部,因此您需要类似以下内容:
test = [e for e in AdminRoles if e in members.roles]
if len(test) > 0:
doTheRightModeratorThing()
else:
doTheRightCommonerThing()
(最后检查 adminRoles 中是否至少有一个角色位于 member.roles 中)
添加回答
举报