errors.MissingRole при использовании slash_command Discord.py

Помогите пожалуйста с проблемой. Использую slash_command.

@bot.slash_command(aliases=['сетделэй', 'сетделай'], name='setdelay', description='Устанавливает slowmode на канале',
                   guild_ids=[guild_id])
@commands.has_role(admin_role)
async def setdelay(ctx, seconds: int):
    await ctx.channel.edit(slowmode_delay=seconds)
    await ctx.respond(f"Установлен режим замедления в {seconds} сек.")
    channel = bot.get_channel(logs_channel)
    await channel.send(f'> **{ctx.author}** использовал команду - __«setdelay»__')

Если использую команду юзером с правами админа, то все хорошо. Но как только команду использует юзер без необходимых прав, то выдаёт следующую ошибку: discord.ext.commands.errors.MissingRole: Role 'admin' is required to run this command. Мой обработчик ошибок:

@bot.event
async def on_command_error(ctx, error):
    if isinstance(error, commands.errors.MissingRole):
        await ctx.send(f'{ctx.author.mention} недостаточно прав для команды.')

Когда не использовал slash_command все отлично работало. Может мне стоит как-то ловить ошибку внутри функции? Знаю, что можно ловить ошибку именно конкретной функции и все будет работать, но у меня функций оч много, хотелось бы одним обработчиком все ловить.


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