如何删除所有不和谐的角色?

时间:2020-09-02 11:30:53

标签: python discord discord.py

我有几台服务器,我想删除以前创建的所有角色,但是它们的数量有很多不足..我创建了一个删除一个角色的命令。请帮助创建一个命令,该命令将从服务器冲突中删除所有角色

@client.command(pass_context=True)
async def delrole(ctx, *,role_name):
  role = discord.utils.get(ctx.message.server.roles, name=role_name)
  if role:
    try:
      await client.delete_role(ctx.message.server, role)
      await client.say("The role {} has been deleted!".format(role.name))
    except discord.Forbidden:
      await client.say("Missing Permissions to delete this role!")
  else:
    await client.say("The role doesn't exist!")

1 个答案:

答案 0 :(得分:0)

正如Lukas Thaler所说,您可以循环浏览服务器中的所有角色,但是如果您只想删除几个角色,可以尝试一下。

@client.command()
async def delrole(ctx, *, roles: discord.Role):
    for role in roles:
        try:
            await client.delete_role(ctx.message.guild, role)
        except discord.Forbidden:
            await client.say("Missing Permissions to delete this role!")

使用此命令的格式为:!delrole @ role1 @ role2 @ role3,依此类推。无论您想要多少角色,都可以。