vamep
@vamep
Бесполезный, не грамотный, discord.py разработчик.

Я хочу сделать чтобы бот выдавал сообщение неуспешным выполнением, Но в коде что то некак, он почему-то игнорит кусок кода, что делать?

Код игнорит
if amount is None:
        await ctx.send("Извените, но вы вели не правильное число.")
        return


@Client.command(aliases=['clear', 'Clear', 'cLEAR', 'cls', 'Cls', 'cLS', 'сды', 'Сды', 'сДЫ', 'сдуфк', 'Сдуфк', 'сДУФК', 'СДУФК', 'CLEAR', 'CLS'])
@commands.has_any_role(1124320557052207256)
async def clearning(ctx, amount: int):
    if amount is None:
        await ctx.send("Извените, но вы вели не правильное число.")
        return
    await ctx.channel.purge(limit=int(amount))
    embed = discord.Embed(colour=0x00b8f5,
                          timestamp=datetime.now())
    embed.set_author(name="• Сообщении были удалены!")
    embed.add_field(name="Кол-во:",
                value=f'{amount}',
                inline=True)
    #============================
    embed.add_field(name="Статус:",
                value="Выполнено.",
                inline=True)
    embed.set_footer(text="NB • Liberator")
    await ctx.send(embed=embed, delete_after=7.4)

Что делать?
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
ghqstlysoul
@ghqstlysoul
Discord: ghqstlysoul
Так как amount является параметром контекстной, а не слэш команды он не будет работать таким образом.

1 Способ:

В этом случае, когда аргумент отсутсвует при отправке команды, выбрасывается ошибка discord.ext.commands.errors.MissingRequiredArgument

Вместо этой части кода, отлавливайте такие ошибки в ивенте on_command_error

2 Способ, который подойдёт если вы хотите отлавливать конкретную ошибку:

Просто установите в аргументах команды значение аргумента по умолчанию, в вашем случае это например:
async def clearning(ctx, amount: int = None):

Теперь если аргумент не будет введён при отправке команды, он вернёт значение по умолчанию.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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