Отправить сообщение об ошибке, если у пользователя нет перми (бот Discord)

#python #permissions #discord.py

Вопрос:

Я создаю бота для разногласий и хочу добавить сообщение «у вас нет разрешения на использование этой команды», когда у пользователя нет разрешения использовать команду, которую я пытался в течение нескольких часов (с помощью if и других), и не могу найти способ

     @commands.command(aliases=['limpar'])
    @commands.has_permissions(manage_messages=True)
    async def clear(self, ctx, amount : int):
            await ctx.channel.purge(limit=amount 1)
            embed=discord.Embed(title="", url="", description=f"Squeaky clean!!!", color=0x000000)
            await ctx.send(embed=embed, delete_after=2)
            print('Squeaky clean!!!')

 

Ответ №1:

Вы можете использовать событие обработчика ошибок, оно будет для всех команд.

 @commands.event
async def on_command_error(ctx, error):
    if isinstance(error, commands.MissingPermissions):
        await ctx.send(f"You do not have {commands.MissingPermissions.missing_perms} to run this command.")
 

commands.MissingPermissions