首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Userinfo命令

Userinfo命令
EN

Stack Overflow用户
提问于 2020-06-09 09:25:23
回答 1查看 2.7K关注 0票数 0

我做了这样的命令,但我不想让机器人说,每个人的角色部分,我想看看许可密钥,有人能帮助我吗?

代码语言:javascript
复制
@client.command()
async def userinfo(ctx, target: Optional[Member]):
    if ctx.author.guild_permissions.administrator:
        x = ctx.guild.members
        if target in x:
             roles = [role for role in target.roles]
             embed = discord.Embed(title="User information", colour=discord.Color.gold(), timestamp=datetime.utcnow())

             embed.set_author(name=target.name, icon_url=target.avatar_url)

             embed.set_thumbnail(url=target.avatar_url)

             embed.set_footer(text="Mr.KapiBara", icon_url="https://cdn.discordapp.com/attachments/618434755981213716/718861010223497236/kapi-1.png")

             fields = [("Name", str(target), False),
                   ("ID", target.id, False),
                   ("Status", str(target.status).title(), False),
                   (f"Roles ({len(roles)})", " ".join([role.mention for role in roles]), False),
                   ("Created at", target.created_at.strftime("%d/%m/%Y %H:%M:%S"), False),
                   ("Joined at", target.joined_at.strftime("%d/%m/%Y %H:%M:%S"), False)]

             for name, value, inline in fields:
                    embed.add_field(name=name, value=value, inline=inline)

             await ctx.send(embed=embed)
        else:
            await ctx.send(f'You have to ping soneone from this server')
    else:
        await ctx.send(f'Not enough permissions')
EN

回答 1

Stack Overflow用户

发布于 2020-06-09 14:11:33

代码语言:javascript
复制
roles = [role for role in target.roles]

这种理解得到了每一个角色。

您可以使用一个条件允许除@everyone以外的所有角色,该角色称为默认角色:

代码语言:javascript
复制
roles = [role for role in target.roles if role != ctx.guild.default_role]

参考资料:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62279233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档