Как ввести 2 числа, разделённые запятыми, в переменные

Я создаю код, чтобы пользователь мог сам выбрать диапазон выбора случайных чисел. Я попытался создать переменные a, b в самой командной функции и разделить их с помощью split(','). Он по-прежнему выдает ошибку.

@bot.message_handler(commands=['setrange'])
def set_range(message):
    # global random_num
    # global a
    # global b

    #user_guess = message.text
    send = bot.send_message(message.chat.id, 'Введите от какого числа до какого будет 
генерироваться число в формате [от, до]:')

bot.register_next_step_handler(send, set_range_global)

def set_range_global(message):
    #global random_num
    #global a, b

    user_guess = int(message.text)

    a, b = map(float(int, user_guess.split(', ')))
    bot.reply_to(message, a,b)

    user_guess = message.text
    arr = list(map(int, user_guess.split(',')))

    if int(user_guess) != arr[0] and int(user_guess) != arr[1]:
        default_a = a
        default_b = b
        bot.send_message(message.chat.id, f'Диапазон генерирования числа успешно 
изменен!\nНовый диапазон: {a, b}')

default_a и default_b это переменные для значений по умолчанию для a и b при вводе команды /start

Ошибка:

"C:\Users\Danil\AppData\Local\Programs\Python\Python312\Lib\site-packages\telebot\util.py", line 90, in run
    task(*args, **kwargs)
  File "C:\Users\Danil\Desktop\Tg_game\main.py", line 66, in 
   set_range_global
    a, b = map(float(int, user_guess.split(', ')))
                          ^^^^^^^^^^^^^^^^
AttributeError: 'int' object has no attribute 'split'

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

Автор решения: Иван Ипатов
@bot.message_handler(commands=['setrange'])
def set_range(message):
    sent = bot.send_message(message.chat.id,
                            'Введите от какого числа до какого будет генерироваться число в формате [от, до]:')
    bot.register_next_step_handler(sent, set_range_global)


def set_range_global(message):
    user_guess = str(message.text)
    try: # пробуем, если без ошибок
        a, b = re.findall(r"\d+", user_guess)
        # if int(user_guess) != arr[0] and int(user_guess) != arr[1]: не понял что вы тут проверяете
        bot.send_message(message.chat.id, f'Диапазон генерирования числа успешно изменен!\nНовый диапазон: [{a}, {b}]')
        rand_num = random.randint(int(a), int(b))
        bot.send_message(message.chat.id, str(rand_num))
    except ValueError: # если пользователь ввел не 2 числа
        set_range(message)
→ Ссылка
Автор решения: Влад Гаврилюк

Первый ответ через try catch подходит, но там могут возникнуть и другие проблемы, которые не всегда говорят о том что пользователь ввел не два числа.

Думаю тут стоит внутри try использовать проверку на наличие запятой в строке:

if ',' in message.text: 
  # Выполняем парсинг
else 
  # Выводим ошибку, что ввели не два числа
→ Ссылка