Найти в Дзене
Qorred

Бот на Python (aiogram).

Наш бот представляет собой простой регистрационный сервис, который позволяет пользователям зарегистрироваться и ввести свои данные (имя и номер телефона), а затем просмотреть свой профиль. На Python библиотека aiogram.

Вот как работает наш бот:

  1. При запуске бота пользователь получает приветственное сообщение и может начать регистрацию, отправив команду /start.
  2. При отправке команды /start пользователь попадает в состояние UserRegistration.name, где ему предлагается ввести свое имя.
  3. После того, как пользователь ввел свое имя, он попадает в состояние UserRegistration.phone, где ему предлагается ввести свой номер телефона. Номер телефона проходит проверку на корректность введения и сохраняется в базе данных.
  4. Если пользователь попытается зарегистрироваться с тем же номером телефона, он получит сообщение об ошибке и будет предложено изменить свой профиль, используя команду /profile.
  5. Если пользователь вводит команду /profile, он может просмотреть свои текущие данные (имя и номер телефона) и изменить их, если хочет.
  6. Если пользователь хочет отменить свою регистрацию, он может ввести команду /cancel, и его данные будут удалены из базы данных.
  7. Все данные хранятся в базе данных SQLite, а доступ к ней осуществляется с помощью стандартной библиотеки sqlite3 в Python.

Начнем с файла, который запускает бот. Я назвал его "loader"

Пишем команды для БД. Используем встроенную библиотеку sqlite3

Создаем базу данных.
Название "users" в которой сохраняется ID пользователя, Имя и номер телефона (вводит пользователь).
('data_base/users.db') - путь где создается файл БД
Создаем базу данных. Название "users" в которой сохраняется ID пользователя, Имя и номер телефона (вводит пользователь). ('data_base/users.db') - путь где создается файл БД

Для добавления пользователя в БД
Для добавления пользователя в БД
Для удаления профиля пользователя.
Для удаления профиля пользователя.

Перейдем к создания состояний (States), для промежуточного хранения информации, которое вводит пользователь.

-6

Перейдем к хендлерам

Импорты для хендлеров
Импорты для хендлеров
/start выводит профиль, если пользователь уже регистрировался или предлагает зарегистрироваться.
/start выводит профиль, если пользователь уже регистрировался или предлагает зарегистрироваться.
Сохраняет имя пользователя  и запрашивает номер телефона. Проверяет, является ли номер телефона допустимым для России
Сохраняет имя пользователя и запрашивает номер телефона. Проверяет, является ли номер телефона допустимым для России
Сохраняет номер телефона и запрашивает подтверждение номера телефона
Сохраняет номер телефона и запрашивает подтверждение номера телефона
 Проверяет корректность введенного кода подтверждения.
Проверяет корректность введенного кода подтверждения.
Выводит информацию о пользователе, если он зарегистрирован в системе
Выводит информацию о пользователе, если он зарегистрирован в системе
Обработчик команды отмены регистрации. Важно разместить функцию в начале
Обработчик команды отмены регистрации. Важно разместить функцию в начале
Обработчик команды удаления профиля пользователя.
Обработчик команды удаления профиля пользователя.

Бот готов к запуску.

В боте регистрация выглядит примерно так
В боте регистрация выглядит примерно так
Команды: профиль, старт(если пользователь уже зарегистрирован) и удаление профиля.
Команды: профиль, старт(если пользователь уже зарегистрирован) и удаление профиля.

Один из способов написания кода на Python телеграм бота.

-17

Наука
7 млн интересуются