@s4q

Как у бота Discord на Python на Discord.py сделать вывод ошибки о не найденной команде в чат?

При запуске неизвестной команды бот пишет в запущенную консоль:
Ignoring exception in command None:
discord.ext.commands.errors.CommandNotFound: Command "habr" is not found

Я уже сделал обработку ошибок с командой kick, но там охватывается только одна команда.
Как сделать вывод ошибки .CommandNotFound - не ясно.

p.s. я нашёл ответ. публикую, кому надо
# Команда не найдена
@client.event
async def on_command_error(ctx, error):
if isinstance(error, commands.CommandNotFound):
await ctx.send(embed = discord.Embed(description = f'{ctx.author.name}, команда не найдена!', colour = discord.Color.red()))
  • Вопрос задан
  • 7866 просмотров
Пригласить эксперта
Ответы на вопрос 3
@weRifiCatoR
Начинающий программист
Если ещё не поздно вот

@client.event
async def on_command_error(ctx, error):
    if isinstance(error, commands.CommandNotFound ):
        await ctx.send(embed = discord.Embed(description = f'** {ctx.author.name}, данной команды не существует.**', color=0x0c0c0c))
Ответ написан
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Что такое 'discord.ext.commands.errors.CommandNotFound' - это исключение?(Я с Discord не работал)
Если да, тогда наверное так:
try:
	тут код обработки команд
except discord.ext.commands.errors.CommandNotFound:
	# Здесь код выполнится только при ошибке CommandNotFound
Ответ написан
@ApaTia
Знаю что поздно, но вдруг кому-то пригодиться.
У меня так:

@client.event
async def on_command_error(ctx, error):
    if isinstance(error, commands.CommandNotFound):
        title_error_two = 'Введенная вами команда не существует'
        desc_error_two = 'Используйте **!help**, чтобы просмотреть список всех доступных команд'
        embed_var_two = discord.Embed(title=title_error_two,
                                      description=desc_error_two,
                                      color=0xFF0000)
        await ctx.reply(embed=embed_var_two)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы