Как разделись пользователей в телеграмм бот?

приветствую вас, уважаемые гуру. подскажите. Я написал бота телеграмм на библиотеке TeleBot на языке Python. БОт при старте авторизуется по апи на определённом сервисе. суть в том что если я авторизуюсь на одном устройстве, другое устройство заходит сразу в сессию первого устройства. все пользователи бота пользуются только одной сессией. как это изменить?
data = {
        "data": {
            "login": login, #novikov@eg31.ru
            "password": password #novikov
        },
        "request": {
            "method": "login",
            "model" : "auth",
            "module": "quickfox"
        }
    }
        #подключение к базе
    url = 'http://b2b.i-t-p.pro/api/2'
    data_json = json.dumps(data)
    response = requests.post(url, data=data_json)
    sys.stdout.write(response.text)
    r = response.json()
    if r['success'] == True:
        session = r['session']
        main_menu(message)
    else:
        bot.send_message(message.from_user.id, 'Неверный логин или пароль. попробуйте снова')
        bot.register_next_step_handler(message, get_login)
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
moonz
@moonz
web developer | seo | design
Для решения вашей задачи, необходимо создать базу данных, где у каждого пользователя будет храниться либо ключ сессии, либо данные авторизации.

Сама реализация должна быть асинхронной, иначе состояние сессии одного пользователя могут попасть в контекст другого.

Как я понял вы используете api vk. Тогда лучшим решением будет просить от пользователя токен с нужными разрешениями, и хранить его в базе данных до тех пор пока он валидный, и запрашивать новый в случае аннулирования. При обработке любого запроса от пользователя, ассоциируется его запись в БД, и он его токена делается запрос к api.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы