BronyMatch – это уникальное приложение для поиска друзей и второй половинки среди поклонников вселенной My Little Pony. Наше приложение поможет объединить людей с общими интересами в сообществе, которое они любят.
---- Регистрация и авторизация
- Поддержка входа через электронную почту и социальные сети.
- Геолокация
- Помогает находить людей поблизости для реальных встреч.
- Расширенные фильтры поиска
- Возможность искать профили по возрасту, городу, предпочтениям и интересам.
- Система рекомендаций
- Персонализированные предложения пользователей на основе ваших предпочтений.
- Интеграция с Telegram
- Удобный Telegram-бот для быстрого доступа к функциям приложения.
- Поддержка векторного поиска
- Быстрый и точный поиск с использованием векторного растояния
- Python 3.10+
- MongoDB
- aiogram – библиотека для Telegram API
-
Клонируйте репозиторий:
git clone https://github.com/yourusername/BronyMatch.git cd BronyMatch
-
Создайте виртуальное окружение и активируйте его:
python -m venv venv source venv/bin/activate # для Unix venv\Scripts\activate # для Windows
-
Установите зависимости:
pip install -r requirements.txt
-
Настройте файл конфигурации:
nano config.ini
-
Запустите приложение:
python main.py
BronyMatch/
│
│ age_filter.py
│ bot.db
│ bot_instance.py
│ config.ini
│ create_table.sql
│ fake_message.py
│ main.py
│ media_type_finder.py
│ registration.py
│ requirements.txt
│ rules.txt
│ sending_fucntions.py
│ start_functions.py
│ translator.py
│
├───admin
│ │ actions.py
│ │ admin_commands.py
│ │ decorators.py
│ │ send_next_report.py
│ │ __init__.py
│
├───config
│ │ config.py
│ │ parser.py
│ │ __init__.py
│
├───db
│ │ database.py
│ │ mongo.py
│ │ __init__.py
│
├───docker
│ │ dockerlib.py
│ │ __init__.py
│
├───editing
│ │ actions.py
│ │ decorators.py
│ │ globals.py
│ │ __init__.py
│
├───globals
│ │ decorators.py
│ │ __init__.py
│
├───interactions
│ │ answers_handlers.py
│ │ globals.py
│ │ handlers.py
│ │ __init__.py
│ │
│ ├───likes
│ │ │ like.py
│ │ │ send_like.py
│ │ │ view_likes.py
│ │
│ └───reports
│ │ get_report_text.py
│ │ report.py
│
├───localisation
│ │ buttons.py
│ │ dynamic_messages.py
│ │ messages.py
│ │ rules_eng.txt
│ │ rules_rus.txt
│ │ __init__.py
│
├───location
│ │ coordinates.py
│ │ location.py
│ │ __init__.py
│
├───open_ai
│ │ vectors.py
│ │ __init__.py
│
├───profile_list
│ │ get_profiles.py
│ │ globals.py
│ │ __init__.py
│
├───sessions
│ │ decorators.py
│ │ load_sessions.py
│ │ save_sessions.py
│ │ update_activity.py
│ │ user_session.py
│ │ user_sessions.py
│ │ __init__.py
│
├───states
│ │ bot_states.py
│ │ load_states.py
│ │ __init__.py
│
├───user
│ │ user.py
│ │ __init__.py
│
└───user_sessions
BronyMatch использует персонализированную систему рекомендаций на основе анализа предпочтений пользователя и векторного поиска. Векторы предпочтений вычисляются с использованием данных профиля, интересов и предыдущих взаимодействий.
Мы используем MongoDB для хранения профилей пользователей, истории взаимодействий, и других данных.
-
Коллекция пользователей
id
: Уникальный идентификатор пользователяemail
: Адрес электронной почтыusername
: Имя пользователяlocation
: Географическое местоположениеpreferences
: Предпочтения пользователя
-
Коллекция взаимодействий
user_id
: ID пользователяaction
: Тип действия (like, dislike, message)timestamp
: Время выполнения действия
Если вы хотите внести вклад в проект, следуйте этим шагам:
- Сделайте форк репозитория.
- Создайте новую ветку для вашей функции или исправления:
git checkout -b feature/new-feature
- Сделайте коммиты и отправьте изменения:
git commit -m "Добавлена новая функция" git push origin feature/new-feature
- Откройте Pull Request.
Наш Telegram-бот позволяет пользователям быстро искать профили, взаимодействовать и получать уведомления.
- Убедитесь, что ваш
token
правильно настроен. - Основные команды бота:
/start
– начало работы с ботом/admin
- админ - панель/show [user]
- показать пользователя/ban [user]
- забанить пользователя/remove [user]
- удалить аккаунт/send_message [user или *]
- отправить сообщение/admin_add [user]
- добавить админа/admin_remove [user]
- удалить админа
Мы приветствуем вклады от сообщества! Если у вас есть идеи по улучшению или исправлению багов, не стесняйтесь создавать Issues и Pull Requests.
Если у вас есть вопросы или предложения, свяжитесь с нами:
- Email: [email protected]
- Telegram: @BronyMatchSupport
Этот проект распространяется под лицензией MIT. Подробнее см. LICENSE.
BronyMatch – объединяем сердца в сообществе My Little Pony!