command.MissingRole (missing_role) errorHandling - PullRequest
       113

command.MissingRole (missing_role) errorHandling

0 голосов
/ 05 августа 2020

Плохая проблема, каково решение?

@say.error
async def say_error(ctx, error):
    Missingrole = get(guild.roles, id=730356075689410570)
    if isinstance(error, commands.MissingRole(missing_role)):
        await ctx.send(f'`You dont have {Missingrole} role..')

Выдает ошибку:

command.MissingRole (missing_role) errorHandling

1 Ответ

0 голосов
/ 06 августа 2020

isinstance может только сказать, является ли error объектом MissingRole, но не представляет собой конкретную c отсутствующую роль. Вы должны выделить это в отдельный чек

@say.error
async def say_error(ctx, error):
    if isinstance(error, commands.MissingRole):
        if error.missing_role.id == 730356075689410570:
            await ctx.send(f'`You dont have {error.missing_role} role..')
        else:
            await ctx.send("You are missing some other role")
    else:
        raise error  # if we can't handle the error, bubble it back up
...