Home - 52AnTIMateria812/YouBook812Bot GitHub Wiki

YouBook812Bot Wiki

Содержание

  1. Обзор проекта
  2. Установка и настройка
  3. Архитектура проекта
  4. bot.py
  5. model.py
  6. database.py
  7. data/load_books.py
  8. Библиотеки и зависимости
  9. Тестирование

Обзор проекта

YouBook812Bot - это Telegram-бот для рекомендации книг, использующий машинное обучение для персонализированных рекомендаций. Бот помогает пользователям находить новые книги на основе их предпочтений, оценок и интересов.

Основные возможности

  • 📚 Персонализированные рекомендации книг
  • 🎯 Рекомендации по жанрам
  • 👤 Рекомендации по авторам
  • ⭐ Оценка книг
  • 📖 Подробная информация о книгах
  • 🔄 Обучение на основе оценок пользователей

Установка и настройка

Установка

  1. Клонируйте репозиторий:
git clone [https://github.com/52AnTIMateria812/YouBook812Bot/tree/beta.git]
cd YouBook812Bot
  1. Создайте виртуальное окружение и активируйте его:
python -m venv venv
source venv/bin/activate  # для Linux/Mac
venv\Scripts\activate     # для Windows
  1. Установите зависимости:
pip install -r requirements.txt

В случае проблем с версиями библиотек (например, InconsistentVersionWarning): a. Удалите файл data/model.joblib вручную или с помощью команды: bash python -c "import os; os.remove('data/model.joblib') if os.path.exists('data/model.joblib') else print('Файл не найден')" b. Повторно запустите скрипт загрузки данных для пересоздания модели: bash python data/load_books.py

  1. Создайте файл .env в корневой директории и добавьте токен бота:
BOT_TOKEN=your_bot_token_here
  1. Загрузите базу данных книг:
python data/load_books.py

Запуск

python bot.py

Архитектура проекта

Проект построен на модульной архитектуре, где каждый компонент отвечает за свою функциональность:

YouBook812Bot/
├── bot.py              # Основной файл бота
├── model.py            # Модель рекомендаций
├── database.py         # Работа с базой данных
├── requirements.txt    # Зависимости
└── data/
    ├── books.csv      # База данных книг
    ├── books.db       # База данных пользователей
    └── model.joblib   # Сохраненная модель

Релиз

  1. v1.0.0
  2. Telegram-бот