首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何列出discord.py中的所有角色

如何列出discord.py中的所有角色
EN

Stack Overflow用户
提问于 2020-06-07 13:28:03
回答 1查看 9.2K关注 0票数 2

我需要列出所有角色,以便向它们添加一个权限,如何列出所有角色?

代码语言:javascript
运行
复制
for member in server.members:
    for role in member.roles:
        print(role.id)

我在reddit上看到了这段代码,但它可以打印任何内容,那么如何列出所有角色呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-07 13:58:35

这取决于您在哪里执行该操作,但在命令中它看起来如下所示:

代码语言:javascript
运行
复制
@bot.command()
async def roles(ctx):
    print(", ".join([str(r.id) for r in ctx.guild.roles]))

如果您需要获得公会(如果您使用的是一个事件,而所需的obj是不可导航的),您可以使用:

代码语言:javascript
运行
复制
guild = bot.get_guild(ID_HERE)
print(", ".join([str(r.id) for r in guild.roles]))

后编辑:

代码语言:javascript
运行
复制
@bot.command()
async def rmvroles(ctx):
    role_ids = [112233445566778899, 224466881133557799 # etc...
    for role in [r for r in ctx.guild.roles if r.id in role_ids]:
        try:
            await role.delete()
        except:
            await ctx.send(f"Couldn't delete {role.name} ({role.id}).")
    await ctx.send("Deleted roles.")

参考资料:

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

https://stackoverflow.com/questions/62246057

复制
相关文章

相似问题

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