Найти в Дзене
3D и не только

Продолжаем создавать бота: учим входить в существующий аккаунт.

Привет, дорогие друзья! Как вы знаете, у меня есть тестовый сайт в форме интернет-магазина, который можно полностью видоизменить через страницу администратора. Я решил добавить к нему Telegram-бота, чтобы сделать взаимодействие с пользователями ещё удобнее. В прошлый раз мы с вами сделали первые шаги https://dzen.ru/a/Z34zXpNrdH4SBbKp и научились регистрировать нового пользователя через бота. Но что делать, если пользователь уже зарегистрирован на сайте? Как войти в аккаунт через Telegram? Давайте разберёмся! Чтобы упростить взаимодействие с пользователем, я добавил в бота кнопки "Login" и "Logout". Функцию работы с клавиатурой я вынес в отдельный файл, чтобы не перегружать основной код. Когда пользователь запускает бота, у него есть уникальный chat_id. Но как найти этого пользователя в базе данных, если он ещё не регистрировался через бота? Я решил использовать электронную почту и пароль, которые уже хранятся в БД. После успешной верификации бот запоминает id пользовател
Оглавление
страница администратора
страница администратора

Привет, дорогие друзья!

Как вы знаете, у меня есть тестовый сайт в форме интернет-магазина, который можно полностью видоизменить через страницу администратора. Я решил добавить к нему Telegram-бота, чтобы сделать взаимодействие с пользователями ещё удобнее.

В прошлый раз мы с вами сделали первые шаги https://dzen.ru/a/Z34zXpNrdH4SBbKp и научились регистрировать нового пользователя через бота. Но что делать, если пользователь уже зарегистрирован на сайте? Как войти в аккаунт через Telegram? Давайте разберёмся!

функция выбора клавиатуры
функция выбора клавиатуры

Функция выбора клавиатуры

Чтобы упростить взаимодействие с пользователем, я добавил в бота кнопки "Login" и "Logout". Функцию работы с клавиатурой я вынес в отдельный файл, чтобы не перегружать основной код.

  • Для неавторизованных пользователей: Отображается кнопка "Login".
  • Для авторизованных пользователей: Отображается кнопка "Logout".
алгоритм входа в систему
алгоритм входа в систему

Алгоритм входа в систему

Когда пользователь запускает бота, у него есть уникальный chat_id. Но как найти этого пользователя в базе данных, если он ещё не регистрировался через бота? Я решил использовать электронную почту и пароль, которые уже хранятся в БД.

алгоритм верифиации пользователя
алгоритм верифиации пользователя

Алгоритм верификации пользователя

  1. Подключаемся к базе данных.
  2. Передаём данные о электронной почте и пароле.
  3. Сравниваем переданный пароль с тем, что хранится в БД.
  4. Возвращаем id пользователя, если верификация прошла успешно.
алгоритм сохранения свойства "chat_id" в базу данных
алгоритм сохранения свойства "chat_id" в базу данных

Алгоритм сохранения свойства "chat_id" в базу данных

После успешной верификации бот запоминает id пользователя и сохраняет chat_id в базу данных. Пользователь получает сообщение об успешном входе и видит новый набор кнопок.

вид для авторизованного пользователя
вид для авторизованного пользователя

Результат: вид для авторизованного пользователя

Теперь авторизованный пользователь может легко управлять своим аккаунтом и совершать покупки через Telegram-бота.

Понравилась статья? Ставь лайк, помоги продвижению (и не забудь подписаться, если ещё не подписан)! А в следующей статье мы добавим функционал для сохранения товаров в корзине. Оставайтесь с нами!