@Zuio4ok

Как исправить краш telebot?

Команда /infa *текст*
чел вводит текст и ему выводит достоверность этой инфы рандомом
62bb2ceb8dd7d824263753.png
код:
@bot.message_handler(commands=["infa"])
def answer(message):
    infa = random.randint(0,100)
    infas = message.text.split(maxsplit=1)[1] 
    bot.send_message(message.chat.id, f"Я считаю что ''{infas}'' вероятно на {infa}%.", parse_mode='html')

ошибка: IndexError: list index out of range
как сделать чтобы при пустом аргументе он писал как правильно использовать команду и не крашился?
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Очевидно, если немножко подумать.
Крэш из-за того, что ты обращаешься ко второму (индекс 1) элементу списка, который имеет только один элемент.
Значит, нужно вынести список (результат работы message.text.split() ) в отдельную переменную, чтобы проверить длину этого списка. Если длина > 1, значит, второй элемент существует, значит, можно работать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект