# 🤖 Telegram Bot для поиска и загрузки фильмов ## 📋 Описание Telegram бот полностью дублирует функциональность веб-интерфейса для поиска и загрузки фильмов через торренты. Бот интегрирован с существующими API endpoints и предоставляет удобный интерфейс для работы в Telegram. ## 🎯 Функциональность ### Основные команды: - `/start` - Запуск бота и приветствие - `/help` - Справка по использованию - `/find` - Начать поиск фильма ### Процесс работы: 1. **Поиск фильма** - пользователь вводит название фильма 2. **Выбор фильма** - из результатов поиска выбирается нужный фильм с постером 3. **Поиск торрентов** - система ищет доступные торренты на всех трекерах 4. **Выбор торрента** - пользователь выбирает нужный торрент из списка 5. **Автоматическое добавление** - торрент автоматически добавляется в qBittorrent ## 🚀 Установка и запуск ### 1. Локальный запуск (для тестирования) ```bash # Установка зависимостей pip install -r requirements.txt # Запуск основного приложения (в отдельном терминале) python app.py # Запуск Telegram бота python run_telegram_bot.py ``` ### 2. Запуск через Docker ```bash # Запуск всех сервисов включая Telegram бота docker compose up -d --build # Проверка статуса docker ps ``` ### 3. Проверка работы ```bash # Тестирование бота python test_telegram_bot.py ``` ## ⚙️ Конфигурация ### Переменные окружения: ```bash # Telegram Bot Token (уже настроен) TELEGRAM_BOT_TOKEN=7662650066:AAFgsfYJNYgpcSHaSe6fspsjqmhMkOBT1s4 # TMDB API TMDB_API_KEY=6d58225585fb77af5945a964de41849f # Torrent APIs TORRENT_SEARCH_URL=http://localhost:8443 TORRENT_ADD_URL=http://localhost:8088 # qBittorrent QBITTORRENT_HOST=localhost QBITTORRENT_PORT=8080 QBITTORRENT_USERNAME=admin QBITTORRENT_PASSWORD=vrubel07 ``` ## 🎬 Использование ### 1. Начало работы - Найдите бота в Telegram: `@your_bot_username` - Отправьте команду `/start` - Следуйте инструкциям бота ### 2. Поиск фильма - Отправьте команду `/find` или просто введите название фильма - Выберите нужный фильм из списка результатов - Просмотрите информацию о фильме с постером ### 3. Поиск торрентов - Нажмите кнопку "🔍 Найти торренты" - Дождитесь результатов поиска - Выберите нужный торрент из списка ### 4. Скачивание - Нажмите на нужный торрент - Торрент автоматически добавится в qBittorrent - Получите уведомление о начале загрузки ## 🔧 Технические детали ### Архитектура: - **Telegram Bot API** - для взаимодействия с пользователями - **FastAPI** - основной веб-сервис с API endpoints - **TMDB API** - поиск информации о фильмах - **TorAPI** - поиск торрентов на трекерах - **qBittorrent** - клиент для загрузки торрентов ### Файлы проекта: - `telegram_bot.py` - основной код бота - `run_telegram_bot.py` - скрипт запуска - `test_telegram_bot.py` - тестирование - `Dockerfile.telegram` - Docker образ для бота - `docker-compose.yml` - конфигурация Docker Compose ### Состояния пользователя: - `waiting_movie_title` - ожидание названия фильма - `movie_selected` - фильм выбран, ожидание действий - `None` - свободное состояние ## 🛠️ Устранение неполадок ### Проблема: Бот не отвечает **Решение:** 1. Проверьте, что основное приложение запущено на порту 8089 2. Убедитесь, что все Docker контейнеры работают 3. Проверьте логи: `docker logs telegram-bot` ### Проблема: Не работает поиск фильмов **Решение:** 1. Проверьте подключение к TMDB API 2. Убедитесь, что API ключ правильный 3. Проверьте интернет-соединение ### Проблема: Не работает поиск торрентов **Решение:** 1. Проверьте, что TorAPI контейнеры запущены 2. Убедитесь, что основное приложение доступно 3. Проверьте логи: `docker logs movie-search` ### Проблема: Торренты не добавляются в qBittorrent **Решение:** 1. Проверьте, что qBittorrent запущен 2. Убедитесь, что учетные данные правильные 3. Проверьте доступность qBittorrent API ## 📊 Мониторинг ### Проверка статуса: ```bash # Все контейнеры docker ps # Логи бота docker logs telegram-bot --tail 50 # Логи основного приложения docker logs movie-search --tail 50 # Статус qBittorrent sudo systemctl status qbittorrent ``` ### Тестирование API: ```bash # Тест основного API curl http://localhost:8089/api/search/terminator # Тест TMDB curl "https://api.themoviedb.org/3/search/movie?api_key=6d58225585fb77af5945a964de41849f&query=terminator" ``` ## 🔒 Безопасность ### Рекомендации: 1. Не публикуйте токен бота в открытом доступе 2. Используйте переменные окружения для конфиденциальных данных 3. Регулярно обновляйте зависимости 4. Мониторьте использование бота ## 📈 Производительность ### Оптимизация: 1. Ограничьте количество одновременных пользователей 2. Используйте кэширование для часто запрашиваемых данных 3. Мониторьте использование ресурсов 4. Настройте лимиты для API запросов ## 🆘 Поддержка При возникновении проблем: 1. Проверьте логи всех сервисов 2. Убедитесь, что все порты доступны 3. Проверьте настройки сети 4. Создайте issue в репозитории проекта ## ✅ Статус **🟢 TELEGRAM BOT ПОЛНОСТЬЮ ФУНКЦИОНАЛЕН** - ✅ Поиск фильмов работает - ✅ Отображение постеров работает - ✅ Поиск торрентов работает - ✅ Добавление в qBittorrent работает - ✅ Интерактивные кнопки работают - ✅ Обработка ошибок работает - ✅ Docker контейнеризация работает ## 🚀 Быстрый старт ```bash # 1. Запуск всех сервисов docker compose up -d --build # 2. Проверка статуса docker ps # 3. Тестирование python test_telegram_bot.py # 4. Использование # Найдите бота в Telegram и отправьте /start ``` --- **Версия**: 1.0 **Дата**: 2025-01-06 **Автор**: AI Assistant