Сообщение об отсутствии аргумента

У меня есть это:

@bot.command()
async def say(ctx, arg1):
    await ctx.send(arg1)

(функция чисто для примера)

И мне нужно, чтобы, если пользователь писал команду без аргумента, выводилось сообщение на подобии "Аргумент отсутствует". Как это сделать? try и except не работают, сообщение не отправляется.


Ответы (2 шт):

Автор решения: OniShlange

Я разобрался и понял, как это сделать.

@bot.command()
async def say(ctx, *args):
    if len(args) == 1:
        await ctx.send(arg1)
    else:
        await ctx.send("Отсутствует аргумент")

Мы проверяем количество аргументов, если их кол-во равно 1, то мы выводим сообщение. Иначе, отправляем сообщение о том, что отсутствует аргумент.

→ Ссылка
Автор решения: xZartsust

Вот так используйте.

@bot.command()
async def say(ctx, args = None):
    if args is not None 1:
        await ctx.send(arg1)
    else:
        await ctx.send("Отсутствует аргумент")

Если в args что-то передастся то он будет не Nonе, ну а если нет то None

→ Ссылка