首页 > 解决方案 > 如何删除所有不和谐角色?

问题描述

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

@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!")

标签: pythondiscorddiscord.py

解决方案


正如 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 等。无论你想要多少角色。


推荐阅读