Если вы не укажете обязательный аргумент при вызове команды, это вызовет ошибку MissingRequiredArgument
и не выполнит вашу функцию. Вам просто нужно добавить эту ошибку в свою функцию clear_error
следующим образом:
@clear.error
async def clear_error(ctx, error):
embed = discord.Embed(color=0xe74c3c)
if isinstance(error, commands.CheckFailure):
embed.set_author(
name="You're not authorized to delete messages!",
icon_url='your image'
)
elif isinstance(error, commands.MissingRequiredArgument):
embed.set_author(
name="You need to specify how many messages you want to delete!",
icon_url='your image'
)
await ctx.send(embed=embed, delete_after=10.0)
Кроме того, вам больше не понадобится if not arg