是否可以将权限值转换为权限名称?

时间:2020-01-18 13:04:55

标签: python python-3.x discord.py

我正在尝试创建一个具有该字段并显示用户权限的用户信息命令,但这仅给我一个权限值。 我的代码:

@client.command()
async def userinfo(ctx, member: discord.Member = None):
    await ctx.message.delete()
    member = ctx.author if not member else member
    embed = discord.Embed(colour=member.color, timestamp=ctx.message.created_at, title=f'{member.name}#{member.discriminator}')

    ***
   some embed fields
    ***

    embed.add_field(name='Permissions:', value=member.guild_permissions, inline=False)

    await ctx.send(embed=embed)

它给了我<Permissions value=2146959359>,所以我可以将值转换为权限名称吗?如果member.guild_permissions不适合,该怎么用?

1 个答案:

答案 0 :(得分:1)

Permissions对象代表所有可用权限。这就是value是53位整数的原因。 您可以在Permissions对中(name, value)对象上进行迭代,但是请注意,该对象使用属性名称。另外,您可以自己将属性名称映射到权限名称,然后使用属性获取值。