No description
  • Python 99.6%
  • Dockerfile 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-25 09:03:54 +03:00
.env.example Make Sonarr and Radarr configuration equal 2026-10-25 08:37:12 +03:00
.gitignore Add Telegram bot for Sonarr and Radarr 2026-10-25 08:10:25 +03:00
bot.py Show bilingual media titles 2026-10-25 09:03:54 +03:00
docker-compose.yml Add Telegram bot for Sonarr and Radarr 2026-10-25 08:10:25 +03:00
Dockerfile Add Telegram bot for Sonarr and Radarr 2026-10-25 08:10:25 +03:00
README.md Add separate local media file deletion 2026-10-25 08:51:29 +03:00
requirements.txt Add Telegram bot for Sonarr and Radarr 2026-10-25 08:10:25 +03:00

Telegram-бот для Sonarr и Radarr

Управляйте сериалами в Sonarr и фильмами в Radarr из Telegram. Поиск показывает кнопки выбора; добавление запускает поиск релиза. Удаление записи просит подтверждение и сохраняет файлы на диске. Для каждого сервиса также можно отдельно удалить локальные файлы, оставив запись в медиатеке.

Команды

В меню Telegram доступны полные команды и короткие варианты.

Действие Общие Sonarr — полная Sonarr — короткая Radarr — полная Radarr — короткая
Запустить бота / показать главное меню /start — — — —
Справка /help — — — —
Найти — /sonarr_search <название> /ssearch <название> /radarr_search <название> /rsearch <название>
Найти и добавить — /sonarr_add <название> /sadd <название> /radarr_add <название> /radd <название>
Список библиотеки — /sonarr_list /sseries /radarr_list /rmovies
Очередь загрузок — /sonarr_queue /squeue /radarr_queue /rqueue
Удалить запись, сохранив файлы — /sonarr_remove <название> /sdelete <название> /radarr_remove <название> /rdelete <название>
Удалить локальные файлы, сохранив запись — /sonarr_delete_files <название> /sfiles <название> /radarr_delete_files <название> /rfiles <название>
Запустить поиск отсутствующих серий — /sonarr_search_missing <название> /smissing <название> — —
Запустить поиск релиза у фильма без файла — — — /radarr_search_missing <название> /rmissing <название>

Короткие команды с префиксами: Sonarr — /ssearch, /sadd, /sseries, /squeue, /sdelete, /sfiles, /smissing; Radarr — /rsearch, /radd, /rmovies, /rqueue, /rdelete, /rfiles. Команды без префикса удалены, чтобы по имени сразу было понятно, какой сервис будет изменён. /help выводит список команд. Меню устанавливается автоматически при каждом запуске бота.

Клавиатура в чате

Отправьте боту /start — появится главное меню с категориями «📺 Сериалы Sonarr» и «🎬 Фильмы Radarr». Выберите категорию, чтобы открыть кнопки действий только для сериалов или только для фильмов. Кнопки поиска, добавления и удаления попросят ввести название; списки и очереди откроются сразу. Для удаления файлов выберите сериал или фильм и подтвердите действие; запись останется в медиатеке. Кнопки «Искать серии без файлов» и «Искать релиз фильма» запустят поиск для уже добавленного сериала или фильма без файлов. Нажмите «⬅️ Главное меню», чтобы вернуться к выбору категории.

Удаление локальных файлов без удаления записи

В разделе Sonarr нажмите «Удалить файлы сериала» или отправьте /sfiles The Office. В разделе Radarr нажмите «Удалить файл фильма» или отправьте /rfiles Интерстеллар. Бот покажет число и общий размер найденных файлов и попросит подтвердить удаление. В Sonarr будут удалены локальные файлы всех эпизодов выбранного сериала; в Radarr — локальные файлы выбранного фильма. Запись и настройки мониторинга останутся в медиатеке. Действие можно отменить до подтверждения.

Поиск отсутствующих файлов

Сериал в Sonarr

  1. Убедитесь, что сериал уже добавлен в Sonarr.
  2. Нажмите кнопку «Искать серии без файлов» или отправьте, например, /smissing The Office.
  3. Выберите сериал из списка. Бот запустит в Sonarr SeriesSearch для отслеживаемых серий, у которых нет локального файла.

Если сериал уже добавлен, команду также можно запустить через /sadd The Office: после выбора результата бот проверит библиотеку и запустит поиск отсутствующих серий вместо повторного добавления.

Фильм в Radarr

  1. Убедитесь, что фильм уже добавлен в Radarr.
  2. Нажмите кнопку «Искать релиз фильма» или отправьте, например, /rmissing Интерстеллар.
  3. Выберите фильм без локального файла. Бот запустит поиск релиза в Radarr.

Если фильм уже добавлен, команда /radd Интерстеллар после выбора результата тоже запустит поиск вместо повторного добавления.

Чтобы команды нашли релизы, в соответствующем приложении должны быть настроены и доступны indexers и download client. Для Sonarr отсутствующие серии должны быть отмечены для отслеживания. Если бот сообщает, что поиск запущен, проверьте его выполнение в разделе Activity/Queue приложения; сам факт запуска не гарантирует, что indexers найдут подходящий релиз.

Настройка

Создайте бота через @BotFather и узнайте свой Telegram ID. Скопируйте .env.example в .env и укажите токен, разрешённые Telegram ID, URL и API-ключи обоих сервисов: Sonarr и Radarr. Для работы боту нужны настройки подключения к обоим сервисам.

Профиль качества и корневую папку для каждого сервиса можно указать через SONARR_QUALITY_PROFILE_ID, SONARR_ROOT_FOLDER, RADARR_QUALITY_PROFILE_ID и RADARR_ROOT_FOLDER. Если их не задавать, бот использует первый профиль и первую корневую папку соответствующего приложения.

Запуск через Docker Compose

Для сервисов в общей Docker-сети используйте имена сервисов и порты, например http://sonarr:8989 и http://radarr:7878. Если приложения находятся на другом сервере, укажите адреса и опубликованные порты, доступные из контейнера.

Выполните в папке проекта:

docker compose up -d --build

Для применения изменений .env без пересборки:

docker compose up -d --force-recreate

Посмотреть журнал:

docker compose logs -f sonarr-telegram-bot

Безопасность

Доступ ограничен списком TELEGRAM_ALLOWED_USER_IDS. API-ключи находятся только в переменных окружения. Удаление требует подтверждения и использует deleteFiles=false. Не публикуйте заполненный .env.