我有几台服务器,我想删除以前创建的所有角色,但是它们的数量有很多不足..我创建了一个删除一个角色的命令。请帮助创建一个命令,该命令将从服务器冲突中删除所有角色
@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!")
答案 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,依此类推。无论您想要多少角色,都可以。