Удаление роли в discord.py - PullRequest
       8

Удаление роли в discord.py

0 голосов
/ 21 апреля 2020

Итак, я придумал эту команду, аналогичную моей команде по креатеролу. Все работает, кроме последней строки кода. Я просто не понимаю, почему это не удалит. Всякий раз, когда я отправляю код, появляется эта ошибка: 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 голосов
/ 22 апреля 2020

Избавьтесь от 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!’)```


...