26
Ноя
2021

Как в боте хранить индивидуальные переменные для каждого пользователя?

Написал бота, который генерирует случайное число, отправляет его пользователю, и пользователь должен отправить это же число в ответ, иначе будет "Ошибка". Проблема в том, что когда несколько пользователей будут использовать бота, у них будет одно число на всех. Например: первому пользователю пришло число 34, он не отвечает, затем в бота зашел второй пользователь, ему пришло число 89, после этого первый пользователь пишет ответ "34" и ему приходит сообщение "Ошибка". Как сделать так, чтобы для каждого пользователя было индивидуальное число?

import telebot
import random

bot = telebot.TeleBot('TOKEN')
    
@bot.message_handler(commands=['start'])
@bot.message_handler(content_types=['text'])


def process_start(message):
    global n
    n = random.randint(1, 100)
    bot.send_message(message.from_user.id, str(n))
    bot.register_next_step_handler(message, question)
    
def question(message):
    if message.text == str(n):
        bot.send_message(message.from_user.id, "Правильно")

        process_start(message)
    else:
        bot.send_message(message.from_user.id, "Ошибка")
        bot.register_next_step_handler(message, question)

bot.polling(none_stop=True)

Источник: https://ru.stackoverflow.com/questions/1354099/%D0%9A%D0%B0%D0%BA-%D0%B2-%D0%B1%D0%BE%D1%82%D0%B5-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D1%82%D1%8C-%D0%B8%D0%BD%D0%B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%B0%D0%B6%D0%B4%D0%BE%D0%B3%D0%BE-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F

Тебе может это понравится...

Добавить комментарий