Не стоит привязываться к ошибкам библиотеки. Создаете кастомную ошибку и вызываете в месте возникновения.
Сейчас вы привязываете к стандартным ошибкам текст, который в реальности не отражает проблему: скажем отсутствие разрешений это MissingPermissions или BotMissingPermissions. BadArgument это ошибка разбора аргументов.
Ну и не нужно дергать вызов ошибок в событии предназначенном для их обработки.
async def on_command_error(error, ctx):
if isinstance(error, commands.BadArgument):
await ctx.send("Запрос команды с ошибочным аргументом")
elif isinstance(error, commands.CommandNotFound):
await Client.send_message(ctx.message.channel, "Команда не найдена")
... # вставлять новые проверки сюда
else:
await Client.send_message(ctx.message.channel, "Неизвестная ошибка")