Skip to content

IPRepin/love_bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Бот знакомств для Telegram с функцией сбора данных (анкет) пользователей.

Version 0.4

Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge

Описание проекта

Бот для Telegram с функцией сбора данных (анкет) пользователей. Бот предлагает пользователю заполнить анкеты с типовыми вопросами (фото, имя, возраст и т.д). Собранные данные отправляются модератору на проверку, а также добавляются в базу данных анкет (данные разделяются на мужские и женские анкеты). Также все пользователи вне зависимости от пола и того заполнили они анкету или нет добавляются в отдельную таблицу базы данных (добавляемые данные: user id телеграм, ссылка в телеграм, first_name). Есть функция перехода пользователя на преобретение платной подписки без запонения анкеты. Также имеется возможность отправки сообщений (логов) об ошибках в телеграм.

Описание обновлений

Version 0.2

Добавлена функция распознования лица на фотографии загружаемой пользователями, (если лицо отсутствует бот не пропустит к заполнению следующего шага и будет просить загрузить фото с лицом). Новые возможности для администраторов:

  • Функция проверки анкеты в один клик и отправка с сообщения пользователю с результатом проверки.
  • Возможность проверки не промодерированных анкет.
  • Функция выгрузки данных в CSV (таблицы) файл по всем пользователям бота (формат данных из телеграм: user name, user id, user url), а также отдельно женские или мужские анкеты пользователей.
  • Для разработчиков. Проект частично покрыт тестами. Добавлена возможность проверки flake8.

Version 0.3

  • Добавлен новый пункт в таблицу Users базы данных сигнализирующий о наличии или отсутствии анкеты у пользователя.
  • Добавлена возможность для пользователю связаться с администратором после заполнения анкеты.

Version 0.4

Добавлена функция рассылки сообщений пользователям.

Требования к окружению

  • Python==3.11,
  • aiogram==3.3.0,
  • python-dotenv==1.0.0,
  • urllib3==2.2.1
  • sqlite == 3.45.2
  • redis==5.0.3

Структура проекта

📦love_bot

  • ┣ 📦data (пакет модулей для работы с БД)
  • ┣ 📦handlers (пакет работы с hendlrs бота)
  • ┣ 📦keyboards (пакет работы с клавиатурами бота)
  • ┣ 📦utils (вспомогательный пакет с дополнительными модулями)
  • ┣ 📜bot.py (модуль запуска телеграм бота)
  • ┣ 📜.gitignore
  • ┗ 📜requirements.txt

Как установить

  1. Создаем бота в телеграм при помощи BotFather
  2. Скачиваем репозиторий с ботом при помощи команды:
    • git clone https://github.com/IPRepin/love_bot.git
  3. Устанавливаем библиотеки из файла requirements.txt
  4. В корневой папке проекта содаем файл с именем .env
  5. Помещаем в него:
    • Токен Telegram для бота TELEGRAM_TOKEN='Ваш_телеграмм_токен'
    • Токен Telegram для отправки сообщений о ошибках TELEGRAM_LOGS_TOKEN='Телеграмм_токен_бота_сообщений_о_ошибках'
    • Chat id Телеграм бота сообщений о ошибках TG_CHAT_ID='Ваш_chat_id_бота_сообщений_о_ошибках'
    • Путь к файлу баз данных PATH_TO_DB='путь/до/файла/базы_данных

Запуск бота Телеграм

python bot.py

Пример работы Телеграм бота

Работающего телеграм бота можно посмотреть тут

rec_work_bot

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages