Подключили Telegram бот с полной функциональностью

- Создан полнофункциональный Telegram бот для поиска фильмов и торрентов
- Бот дублирует всю функциональность веб-интерфейса
- Реализован поиск фильмов через TMDB API с постерами
- Добавлен поиск торрентов на всех трекерах (RuTracker, Kinozal, RuTor, NoNameClub)
- Автоматическое добавление торрентов в qBittorrent
- Интерактивные кнопки для выбора фильмов и торрентов
- Обработка ошибок и пользовательских состояний
- Docker контейнеризация с правильной сетевой конфигурацией
- Увеличен таймаут HTTP запросов до 60 секунд
- Добавлена документация и скрипты запуска

Команды бота:
- /start, /help - справка
- /find - начать поиск фильма

Файлы:
- telegram_bot.py - основной код бота
- run_telegram_bot.py - скрипт запуска
- Dockerfile.telegram - Docker образ для бота
- docker-compose.yml - обновлен с сервисом бота
- requirements.txt - добавлена зависимость python-telegram-bot
- README.md - обновлена документация
- PROJECT_SUMMARY.md - полная сводка проекта
This commit is contained in:
vrubelroman 2025-10-09 12:39:19 +03:00
parent 5a5e007916
commit bc461d36a6
10 changed files with 1342 additions and 3 deletions

85
start_all.sh Executable file
View file

@ -0,0 +1,85 @@
#!/bin/bash
# Скрипт для запуска всего проекта searchTorrentDownl
# Включает веб-приложение и Telegram бота
echo "🚀 Запуск проекта searchTorrentDownl..."
# Проверяем, что мы в правильной директории
if [ ! -f "app.py" ]; then
echo "❌ Ошибка: Запустите скрипт из директории проекта"
exit 1
fi
# Создаем виртуальное окружение если его нет
if [ ! -d "venv" ]; then
echo "📦 Создание виртуального окружения..."
python3 -m venv venv
fi
# Активируем виртуальное окружение
echo "🔧 Активация виртуального окружения..."
source venv/bin/activate
# Устанавливаем зависимости
echo "📥 Установка зависимостей..."
pip install -r requirements.txt
# Проверяем, что qBittorrent запущен
echo "🔍 Проверка qBittorrent..."
if ! curl -s http://localhost:8080/api/v2/app/version > /dev/null; then
echo "⚠️ qBittorrent не запущен. Запустите его командой:"
echo " sudo systemctl start qbittorrent"
echo " или"
echo " sudo -u qbittorrent /usr/bin/qbittorrent-nox --webui-port=8080"
echo ""
echo "🔧 Продолжаем без qBittorrent (поиск фильмов будет работать)..."
fi
# Запускаем основное приложение в фоне
echo "🌐 Запуск веб-приложения..."
python3 app.py &
APP_PID=$!
# Ждем немного, чтобы приложение запустилось
sleep 3
# Проверяем, что приложение запустилось
if ! curl -s http://localhost:8089/api/search/terminator > /dev/null; then
echo "❌ Ошибка запуска веб-приложения"
kill $APP_PID 2>/dev/null
exit 1
fi
echo "✅ Веб-приложение запущено на http://localhost:8089"
# Запускаем Telegram бота
echo "🤖 Запуск Telegram бота..."
python3 run_telegram_bot.py &
BOT_PID=$!
echo ""
echo "🎉 Проект успешно запущен!"
echo ""
echo "📱 Доступные интерфейсы:"
echo " • Веб-интерфейс: http://localhost:8089"
echo " • qBittorrent: http://localhost:8080 (admin/vrubel07)"
echo " • Telegram Bot: @your_bot_username (команда /start)"
echo ""
echo "🛑 Для остановки нажмите Ctrl+C"
# Функция для корректного завершения
cleanup() {
echo ""
echo "🛑 Остановка сервисов..."
kill $APP_PID 2>/dev/null
kill $BOT_PID 2>/dev/null
echo "✅ Все сервисы остановлены"
exit 0
}
# Перехватываем сигнал завершения
trap cleanup SIGINT SIGTERM
# Ждем завершения
wait