Дискорд бот не отправляет сообщение из блока @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
→ Ссылка
- Нужно заменить Missing.Permissions на commands.MissingRole
- Впервые вижу такую отправку сообщения
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")