Задача заключается в следующем: при вводе пользователем количества букв в слове необходимо записывать ответ в переменную, которая будет сохранять значение неограниченное количество сообщений в будущем(пока сам не перезапишу или не очищу). Пробовал банально записать в переменную, но при последующем получении сообщения переменная обнуляется. На просторах интернета все советуют использовать register_next_step_handler, но мне то необходимо не на одно вхождение значение запоминать, а до конца определенного периода вне зависимости от отправки сообщений пользователем. Еще видел, что можно привязаться к айди пользователя и в какое-то временное хранилище связанное по ключу записать и потом с помощью этого ключа вытаскивать значение. Но описано было абсолютно не понятно. Подскажите пожалуйста, куда копать. Питоном занялся совсем недавно, не бейте пж))
import telebot from telebot import types import random from StackWords import * RealTimeWord = '' SelectedNumber = 0 # Создаем экземпляр бота bot = telebot.TeleBot('') #def SaveNumber(Number): # global SelectedNumber = Number def SendRules(m): bot.send_message(m.chat.id, 'Правила игры:, parse_mode='html') # Функция, обрабатывающая команду /start @bot.message_handler(commands=["start"]) def start(m, res=False): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) button1 = types.KeyboardButton("Начать игру") button2 = types.KeyboardButton("Правила") markup.add(button1, button2) bot.send_message(m.chat.id, 'Привет, это бот для игры в слова.\n', parse_mode='html', reply_markup=markup) # Получение сообщений от юзера @bot.message_handler(content_types=["text"]) def handle_text(message): if(message.text == "Начать игру"): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) button1 = types.KeyboardButton("4 буквы") button2 = types.KeyboardButton("5 букв") button3 = types.KeyboardButton("6 букв") button4 = types.KeyboardButton("На главную") markup.add(button1, button2, button3, button4) bot.send_message(message.chat.id, 'Выберите количество букв в слове', reply_markup=markup) elif (message.text == "Правила"): SendRules(message) elif (message.text == "4 буквы"): #FourLettersTask(message, random.choice(FourLetters)) markup = types.ReplyKeyboardMarkup(resize_keyboard=True) button1 = types.KeyboardButton("На главную") markup.add(button1) SelectedNumber = 4 bot.send_message(message.chat.id, '????\nБуквы присутствуют:\nТестирование: ' + random.choice(FourLetters), reply_markup=markup) elif (message.text == "5 букв"): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) button1 = types.KeyboardButton("На главную") markup.add(button1) bot.send_message(message.chat.id, '?????\nБуквы присутствуют:\nТестирование: ' + random.choice(FiveLetters), reply_markup=markup) elif (message.text == "6 букв"): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) button1 = types.KeyboardButton("На главную") markup.add(button1) bot.send_message(message.chat.id, '??????\nБуквы присутствуют:\nТестирование: ' + random.choice(SixLetters), reply_markup=markup) elif (message.text == "На главную"): start(message) else: if (len(message.text) == SelectedNumber): bot.send_message(message.chat.id, 'Правильно') else: bot.send_message(message.chat.id, 'Количество букв в вашем слове некорректное') # Запускаем бота bot.polling(none_stop=True, interval=0)