删除discord.py中的角色

时间:2020-04-21 02:35:33

标签: python discord discord.py

因此,我想出了与createrole命令类似的命令。除了最后一行代码,其他所有内容都可以正常工作。我只是不明白为什么它不会删除。每次发送代码时,都会出现此错误:discord.ext.commands.errors.CommandInvokeError:命令引发了异常:TypeError:delete()收到了意外的关键字参数“名称”。我正在使用最新版本的python和discord.py。

@client.command(aliases=['delrole'])
@commands.has_permissions(manage_roles=True)
async def deleterole(ctx, *,role, reason=None):

    delrole = role
    guild = ctx.guild

    for role in guild.roles:
        if role.name == delrole:
            await ctx.send(delrole)     
            await role.delete(name=delrole)

1 个答案:

答案 0 :(得分:0)

摆脱name = delrole,将其保留为role.delete(),这应该删除该角色!最后添加ctx.send(“角色已删除”),以便您知道何时删除该角色。您也可以删除ctx.send(delrole)使其更干净,但我还是留下了。

@commands.has_permissions(manage_roles=True)
async def deleterole(ctx, *,role, reason=None):

    delrole = role
    guild = ctx.guild

    for role in guild.roles:
        if role.name == delrole:
            await ctx.send(delrole)     
            await role.delete()
            await ctx.send(f’The role {delrole} has been created!’)```