• Как повторить с помощью pyTelegramBotAPI?

    @TrickyOstrich
    Доброго дня!
    Для того, что бы вы могли обращаться к данным, которые описаны вне функций, вам необходимо до функций объявить место, где они могут хранится. Например словарь и классы. Для того, что бы у каждого пользователя была возможность сохранить свой цвет и номер (а не у каждого пользователя выводился один и тот же номер и цвет который прописал первый пользователь), необходимо сделать ссылку на идентификатор пользователя.

    bot = telebot.TeleBot(tok.tok)
    
    user_dict = {}
    class User:
        def __init__(self, colour):
            self.col= colour
            self.num= None
    
    @bot.message_handler(commands=['start'])
    def startmessage(message):
       bot.register_next_step_handler(bot.send_message(message.from_user.id, 'Цвет?'), colour_choose)
    
    def colour_choose (message):
       colour = message.text
       user_colour = User(colour)
       #Добавялем экземпляр класса текущего пользователя в наш словарь
       user_dict[message.from_user.id] = user_colour
       bot.register_next_step_handler(bot.send_message(message.from_user.id, 'Номер?'), num_choose)
    
    
    def num_choose(message):
       num = message.text
    # Добавляем в наш уже созданный экземпляр класса номер
       user_dict[message.from_user.id].num = num
       bot.send_message( message.from_user.id, f'Информация: \n Цвет: {user_dict[message.from_user.id].col} \n Номер: {user_dict[message.from_user.id].num}')
    
    bot.polling()


    Проверил, вроде работает как спрашивали)
    Ответ написан