我需要列出所有角色,以便向它们添加一个权限,如何列出所有角色?
for member in server.members:
for role in member.roles:
print(role.id)我在reddit上看到了这段代码,但它可以打印任何内容,那么如何列出所有角色呢?
发布于 2020-06-07 13:58:35
这取决于您在哪里执行该操作,但在命令中它看起来如下所示:
@bot.command()
async def roles(ctx):
print(", ".join([str(r.id) for r in ctx.guild.roles]))如果您需要获得公会(如果您使用的是一个事件,而所需的obj是不可导航的),您可以使用:
guild = bot.get_guild(ID_HERE)
print(", ".join([str(r.id) for r in guild.roles]))后编辑:
@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.")参考资料:
https://stackoverflow.com/questions/62246057
复制相似问题