【问题标题】:(discord.py) How can I get a list of how many permissions a user has(discord.py) 如何获取用户拥有多少权限的列表
【发布时间】:2020-11-15 10:18:51
【问题描述】:

我目前正在为我的机器人创建一个“userinfo”命令,该命令返回用户 ID、角色、个人资料图片等一般信息。我还希望它显示提到的用户拥有多少权限的列表。这是我为上下文定义 member 的代码部分:

@client.command(aliases=["whois"])
async def userinfo(ctx, member: discord.Member = None):
    if not member:  # if member is no mentioned
        member = ctx.message.author  # set member as the author
    ...

我知道您可以执行member.guild_permissions.<permission>,它返回用户是否具有权限,但我想知道是否有一种方法可以获取用户拥有多少权限的列表而无需检查每个权限。

那么有没有办法做到这一点?

【问题讨论】:

    标签: python list discord discord.py discord.py-rewrite


    【解决方案1】:

    你实际上可以使用Member.guild_permissions:

    @client.command(aliases=["whois"])
    async def userinfo(ctx, member: discord.Member = None):
        if not member:
            member = ctx.message.author
        perm_list = [perm[0] for perm in member.guild_permissions if perm[1]]
    

    Member.guild_permission 返回一个元组列表(例如(manage_permissions, True))。如果是True,您可以浏览此列表并将权限添加到另一个列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-10
      • 2019-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多