如果用户具有此角色,则显示消息。 但是没有任何效果,这是我的代码的一部分:
role_girl = 72850048118554 #ID ROLE
role_boy = 72849957361759 #ID ROLE
role_nonepol = 72850091485547 #ID ROLE
@client.command( aliases = [ 'test' ] )
async def __test( ctx, member: discord.Member ):
if role_girl in member.roles:
preff = ' youre a girl '
if role_boy in member.roles:
preff = ' youre a boy '
if role_nonepol in member.roles:
preff = ' is not specified '
await ctx.send( f'{ member.mention } { preff }' )
答案 0 :(得分:0)
member.roles
返回一个类列表,因此您需要指定是否要使用角色名称或ID。
您可以通过两种方式做到这一点:
role_girl = 72850048118554
role_boy = 72849957361759
role_nonepol = 72850091485547
@client.command( aliases = [ 'test' ] )
async def __test( ctx, member: discord.Member ):
for role in member.roles:
if role.id == role_girl:
preff = ' youre a girl '
elif role.id == role_boy:
preff = ' youre a boy '
elif role.id == role_nonepol:
preff = ' is not specified '
await ctx.send( f'{ member.mention } { preff }' )
get
方法检查用户是否具有角色(您必须将name =“ ...”替换为确切的角色名称):from discord.utils import get
@client.command( aliases = [ 'test' ] )
async def __test( ctx, member: discord.Member ):
if get(member.roles, name='girl'):
preff = ' youre a girl '
elif get(member.roles, name='boy'):
preff = ' youre a boy '
elif get(member.roles, name='nonpol'):
preff = ' is not specified '
await ctx.send( f'{ member.mention } { preff }' )