Skip to content

sashaBazarov/Bronybot

Repository files navigation

BronyMatch

BronyMatch – это уникальное приложение для поиска друзей и второй половинки среди поклонников вселенной My Little Pony. Наше приложение поможет объединить людей с общими интересами в сообществе, которое они любят.

Логотип
---

Основные Функции

  • Регистрация и авторизация
    • Поддержка входа через электронную почту и социальные сети.
  • Геолокация
    • Помогает находить людей поблизости для реальных встреч.
  • Расширенные фильтры поиска
    • Возможность искать профили по возрасту, городу, предпочтениям и интересам.
  • Система рекомендаций
    • Персонализированные предложения пользователей на основе ваших предпочтений.
  • Интеграция с Telegram
    • Удобный Telegram-бот для быстрого доступа к функциям приложения.
  • Поддержка векторного поиска
    • Быстрый и точный поиск с использованием векторного растояния

Установка и Запуск

Требования

  • Python 3.10+
  • MongoDB
  • aiogram – библиотека для Telegram API

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/yourusername/BronyMatch.git
    cd BronyMatch
  2. Создайте виртуальное окружение и активируйте его:

    python -m venv venv
    source venv/bin/activate   # для Unix
    venv\Scripts\activate      # для Windows
  3. Установите зависимости:

    pip install -r requirements.txt
  4. Настройте файл конфигурации:

     nano config.ini
  5. Запустите приложение:

    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

Мы используем MongoDB для хранения профилей пользователей, истории взаимодействий, и других данных.

  • Коллекция пользователей

    • id: Уникальный идентификатор пользователя
    • email: Адрес электронной почты
    • username: Имя пользователя
    • location: Географическое местоположение
    • preferences: Предпочтения пользователя
  • Коллекция взаимодействий

    • user_id: ID пользователя
    • action: Тип действия (like, dislike, message)
    • timestamp: Время выполнения действия

Разработка

Если вы хотите внести вклад в проект, следуйте этим шагам:

  1. Сделайте форк репозитория.
  2. Создайте новую ветку для вашей функции или исправления:
    git checkout -b feature/new-feature
  3. Сделайте коммиты и отправьте изменения:
    git commit -m "Добавлена новая функция"
    git push origin feature/new-feature
  4. Откройте Pull Request.

Telegram Бот

Наш Telegram-бот позволяет пользователям быстро искать профили, взаимодействовать и получать уведомления.

  • Убедитесь, что ваш token правильно настроен.
  • Основные команды бота:
    • /start – начало работы с ботом
    • /admin - админ - панель
    • /show [user] - показать пользователя
    • /ban [user] - забанить пользователя
    • /remove [user] - удалить аккаунт
    • /send_message [user или *] - отправить сообщение
    • /admin_add [user] - добавить админа
    • /admin_remove [user] - удалить админа

Вклад

Мы приветствуем вклады от сообщества! Если у вас есть идеи по улучшению или исправлению багов, не стесняйтесь создавать Issues и Pull Requests.


Контакты

Если у вас есть вопросы или предложения, свяжитесь с нами:


Лицензия

Этот проект распространяется под лицензией MIT. Подробнее см. LICENSE.


BronyMatch – объединяем сердца в сообществе My Little Pony!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages