Проблема с 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 шт):
Насколько я понял, idd1 – это int переменная. Она перезаписывается каждый раз, когда пользователь вводит свой ID.
Советую создать файл config.py, в котором хранить главные переменные и создать словарь, где key – номер ID в списке, а value – сам ID. Но лучше всего воспользоваться базой данных, для начала можно воспользоваться SQLite
Также лучше использовать машину состояний для запроса ID, а не записывать две функции в handler. Подробнее здесь