我已经尝试和研究了很多次,但仍然找不到。我要发出删除服务器中选定角色的命令。这是我想出的(目前不在乎权限):
@bot.command(pass_context=True)
async def delrole(ctx, role: discord.Role):
await bot.delete_role(role)
await bot.say("The role {} has been deleted!".format(role.name))
如果您可以帮助,那就太好了。我使用过以下角色:discord.Role和delete_role()。感谢您的阅读。如果您有解决方案,请随时发表评论。
答案 0 :(得分:0)
您可以执行以下操作以避免只能删除可提及的角色
@bot.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 bot.delete_role(ctx.message.server, role)
await bot.say("The role {} has been deleted!".format(role.name))
except discord.Forbidden:
await bot.say("Missing Permissions to delete this role!")
else:
await bot.say("The role doesn't exist!")
在其中进行!delrole name_of_role
并使用discord.utils.get
从服务器上的角色列表中按角色名称查找角色。
然后,如果找到它,则可以使用带有两个参数的bot.delete_role
将其删除,您要从中删除角色的服务器以及角色本身
答案 1 :(得分:0)