如何获得我的discord机器人所具有的所有角色的列表?

时间:2020-10-31 01:49:28

标签: python discord discord.py

我试图从上到下列出我的机器人所具有的所有角色,以便获得最高的角色颜色。

2 个答案:

答案 0 :(得分:0)

您可以使用Guild.roles

在所有此类角色中进行循环
@bot.command()
async def get_roles(ctx):
    all_roles = []
    for role in ctx.guild.roles:
        all_roles.append(role.name)
    all_roles.reverse()# to make it higher first 
    print(all_roles)

答案 1 :(得分:0)

不确定“最高角色的颜色”是什么意思,而且您的帖子也缺少代码。

获取机器人在公会中的角色的一种方法(通过命令)是获取公会成员对象,然后循环该成员的角色对象。

尝试一下:

@bot.command()
async def list_roles(ctx):
    bot_member = ctx.guild.get_member(bot.user.id)
    for bot_role in bot_member.roles:
        print(f'guild role {bot_role} color {bot_role.color}')

控制台输出:

guild role @everyone color #000000
guild role masterbot color #2ecc71
guild role winnerPicker color #e67e22
guild role gabAdmin color #ad1457