Дискорд бот не отправляет сообщение из блока @command.error

@bot.command()
@commands.has_role(983027842705133578)
async def whoami(ctx, name):
    await ctx.reply("Ваша роль " + str(ctx.message.author.top_role.mention))
@whoami.error
async def whoami_error(error, ctx):
    if isinstance(error, MissingPermissions):
        await ctx.send("You dont have permission")

Когда человек с нужной ролью вызывает команду то всё работает, но когда нужной роли нет, то ничего не происходит. Бот сообщение не отправляет, а в консоль ничего не выводится. Заранее спасибо. Полный код - https://pastebin.com/raw/Q1Ahiy2X


Ответы (2 шт):

Автор решения: Corrygan
  1. Нужно заменить Missing.Permissions на commands.MissingRole
  2. Впервые вижу такую отправку сообщения await bot.send_message(ctx.message.channel, "you dont have permission"), замените её на await ctx.send("You dont have permission")
@whoami.error
async def whoami_error(error, ctx):
    if isinstance(error, commands.MissingRole):
        await ctx.send("You dont have permission")
→ Ссылка
Автор решения: Кирил

Я ловил не ту ошибку, нужно не MissingPermissions, a MissingRole

→ Ссылка