Мне нужно, чтобы пользователь вводил два числа, чтобы сформировать диапазон, и сделать сообщение об ошибке, если один или оба числа не введены или введено письмо. Что я делаю сейчасКоманда, чтобы проверить, существует ли переменная внутри строки
@bot.message_handler(commands=['set'])
def handle_message(message):
if (message.text == '/set'):
bot.send_message(message.chat.id, 'put in a range')
elif message.text.split()[1].isdigit() :
bot.send_message(message.chat.id, "something")
elif message.text.split()[1].isdigit() == False:
bot.send_message(message.chat.id, 'Only letters!')
Но проблема в том, что если пользователь ничего не ставить во 2-й переменной я получаю ошибку синтаксиса. Я пробовал использовать
except IndexError:
bot.send_message(message.chat.id, 'Only letters!')
, но это возвращает SyntaxError. Что я ищу - это способ проверить, существует ли message.text.split()[2]
(имеет любое значение), а затем проверить, является ли это цифрой.
Вы уверены, что получаете ошибку синтаксиса (!), когда пользователь ничего не вводит? Это кажется непохожим. – timgeb
'if len (message.text.split())> 1 и message.text.split() [1] .isdigit():'? – Kevin