Проблема с Telegram API - Python, уникальный ID для каждого пользователя

Начинаю осваивать Python. Работаю с VK и Telegram API. Всё работает, но есть одно "но". Есть код:

    @bot.message_handler(commands=['start', 'go'])
def start_handler(message):
    chat_id = message.from_user.id
    text = message.text
    msg = bot.send_message(chat_id, 'Напишите ID')
    bot.register_next_step_handler(msg, askID)

def askID(message):
    global idd1
    chat_id = message.chat.id
    idd1 = message.text
    if not idd1.isdigit():
        msg = bot.send_message(chat_id, 'ID должен иметь цифровой вариант')
        bot.register_next_step_handler(msg, askAge) #askSource
        return
    msg = bot.send_message(chat_id, 'Спасибо, я запомнил что это ' + idd1 + ' - ваш ID') ```

Есть запрос ID пользователя. Но так получается, что если один пользователь ввел ID, то этот ID изменяется у всех юзеров. Как сделать, чтобы каждый пользователь мог ввести свой ID?


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

Автор решения: usrsem

Насколько я понял, idd1 – это int переменная. Она перезаписывается каждый раз, когда пользователь вводит свой ID.

Советую создать файл config.py, в котором хранить главные переменные и создать словарь, где key – номер ID в списке, а value – сам ID. Но лучше всего воспользоваться базой данных, для начала можно воспользоваться SQLite

Также лучше использовать машину состояний для запроса ID, а не записывать две функции в handler. Подробнее здесь

→ Ссылка