Реализация функции push информации о фильме в Emby Server

Версия v1.x больше не будет обновляться и поддерживаться, при необходимости обновите и используйте версию v2.x! ! !

Введение

Используйте модуль сторожевого таймера («сторожевой таймер») в python для мониторинга каталога медиатеки Emby и отправляйте новую видеоинформацию в медиатеку Emby, включая фильмы и эпизоды, для направления подписчиков через ботов и каналы телеграмм.

Исходный код проекта загружен на github — https://github.com/Ccccx159/watchdog_for_Emby.git
изображение докера загружено на hub.docker.com — https://hub.docker.com/r/b1gfac3c4t/overwatch
добро пожаловать в использование~

Примечания по реализации

В версии v2.x удалена xmllint-зависимость в оригинальной версии, а все функции реализованы только через python. Поэтому в dockerfile базовый образ изменен ubuntu:latestс на python:alpine3.17, а размер образа уменьшен с 231 МБ до 69,5 МБ после вытягивания, что примерно на 70% меньше .

watchdog_for_Emby отслеживает файл «xxxx.nfo», созданный автоматической очисткой видео Emby Server. После того, как новый фильм будет помещен в библиотеку, Emby Server автоматически выполнит очистку для создания файла nfo в формате xml. Через xmllint можно проанализировать некоторую информацию о фильме или эпизоде. Файл nfo можно проанализировать с помощью «ElementTree». модуль для получения основной информации о текущем фильме. Изображение обложки фильма и подробную информацию об эпизоде ​​необходимо запрашивать через API TMDB, и запрос завершается вызовом метода «requests.get()». После сборки данных полезной нагрузки в соответствии с API-документом телеграмм-бота вызовите метод «requests.post()», чтобы передать их боту, и бот отправит их на соответствующий канал.

зависимости

  1. python3.10 и выше (в версии v2.x используется синтаксис match...case..., который поддерживается только в версии 3.10 и выше)
  2. Модуль Python: сторожевой таймер , запросы (cmd:) pip3 install watchdog requests, ElementTree
  3. sudo apt-get install libxml2-utilsЭта зависимость была удалена в xmllint (os: ubuntu 20.04, cmd:) v2.x

Настройки переменных среды

параметр иллюстрировать
BOT_TOKEN Токен бота Telegram
CHAT_ID Telegram-канал chat_id
TMDB_API API-токен TMDB
МЕДИА_ПУТЬ Путь к библиотеке Emby
LOG_PATH <необязательный> путь к файлу журнала, по умолчанию/var/tmp/overwatch.log

Докер Бег

docker run -d --name=watchdog-emby --restart=unless-stopped \
  -v "your media lib's host path":"media lib's container path" \
  -e BOT_TOKEN="your telegram bot's token" \
  -e CHAT_ID="your telegram channle's chat_id" \
  -e TMDB_API="tmdb api token" \
  -e MEDIA_PATH="media lib's container path" \
  -e LOG_PATH="log's output path" \
  b1gfac3c4t/overwatch

Показать результаты

Фильм:

эпизоды:

справочные документы

  • документация API tmdb: https://developers.themoviedb.org/3
  • Документация API бота Telegram: https://core.telegram.org/bots/api

Supongo que te gusta

Origin blog.csdn.net/qq_38894585/article/details/128466081
Recomendado
Clasificación