python - 如何删除所有不和谐角色?
问题描述
我有几台服务器,我想删除我之前创建的所有角色,但它们的数量还有很多不足之处.. 我创建了一个删除一个角色的命令。请帮助创建一个命令,该命令将从服务器不和谐中删除所有角色
@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!")
解决方案
正如 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 等。无论你想要多少角色。