如何查看成员角色?

How to check member role?

我如何获得成员角色,以便将其用于 match/case 目的

@client.event
async def on_voice_state_update(member, before, after):
    person_role = ? ? ?
    match person_role:
        case "User 1":
            pass
        case "User 2":
            pass
        case _:
            pass

用户角色取决于创建新语音通道时设置的通道名称。

如果您只是想获取成员的角色,请使用 member.roles,这将 return 类型为 discord.Role 的列表。要在该列表中查找某个角色,首先使用名称获取角色:

role = discord.utils.get(member.guild.roles, name="FunRole")

或ID:

role = discord.utils.get(member.guild.roles, id=41153483483138)

然后查看角色是否在角色成员列表中:

if role in member.roles:
    print("They have this role.")