Files
homelab-scripts/README-plex-recap.md

4.4 KiB

Récapitulatif hebdomadaire Plex pour Discord

Ce script génère et envoie automatiquement un récapitulatif hebdomadaire des nouveautés de votre serveur Plex sur Discord.

Installation

Les dépendances Python (requests et urllib3) sont généralement déjà installées avec Python3. Si ce n'est pas le cas, installez-les :

# Option 1 : Via apt (recommandé sur Debian/Ubuntu)
apt install python3-pip
pip3 install -r /opt/container/scripts/requirements.txt

# Option 2 : Vérifier si les modules sont déjà disponibles
python3 -c "import requests, urllib3; print('Dépendances OK')"

Configuration

  1. Créer un webhook Discord :

    • Allez dans les paramètres de votre salon Discord
    • Intégrations > Webhooks > Nouveau Webhook
    • Copiez l'URL du webhook
  2. Configurer le fichier de configuration :

    • Éditez /opt/container/scripts/plex-recap-config.json
    • Ajoutez l'URL du webhook Discord dans discord.webhook_url
    • Vérifiez que les URLs et clés API sont correctes

Utilisation

Le script peut être utilisé de plusieurs façons pour envoyer des récapitulatifs séparés :

Méthode 1 : Scripts wrapper (recommandé pour cronmaster)

Des scripts wrapper sont disponibles pour simplifier l'utilisation :

Envoyer uniquement les films :

/opt/container/scripts/plex-recap-movies.sh

Envoyer uniquement les séries :

/opt/container/scripts/plex-recap-series.sh

Envoyer uniquement les demandes approuvées :

/opt/container/scripts/plex-recap-requests.sh

Méthode 2 : Arguments en ligne de commande

Envoyer uniquement les films :

python3 /opt/container/scripts/plex-weekly-recap.py --movies

Envoyer uniquement les séries :

python3 /opt/container/scripts/plex-weekly-recap.py --series

Envoyer uniquement les demandes approuvées :

python3 /opt/container/scripts/plex-weekly-recap.py --requests

Envoyer tout (films, séries, demandes) - par défaut :

python3 /opt/container/scripts/plex-weekly-recap.py --all
# ou simplement
python3 /opt/container/scripts/plex-weekly-recap.py

Personnaliser le nombre de jours :

python3 /opt/container/scripts/plex-weekly-recap.py --movies --days 14

Planification

Option 1 : Via cronmaster (recommandé)

Vous pouvez créer plusieurs tâches séparées dans cronmaster :

Films uniquement (chaque dimanche à 18h00) :

  • Commande : /opt/container/scripts/plex-recap-movies.sh (ou python3 /opt/container/scripts/plex-weekly-recap.py --movies)
  • Planification : 0 18 * * 0

Séries uniquement (chaque lundi à 18h00) :

  • Commande : /opt/container/scripts/plex-recap-series.sh (ou python3 /opt/container/scripts/plex-weekly-recap.py --series)
  • Planification : 0 18 * * 1

Demandes uniquement (chaque mardi à 18h00) :

  • Commande : /opt/container/scripts/plex-recap-requests.sh (ou python3 /opt/container/scripts/plex-weekly-recap.py --requests)
  • Planification : 0 18 * * 2

Tout (chaque dimanche à 19h00) :

  • Commande : python3 /opt/container/scripts/plex-weekly-recap.py --all
  • Planification : 0 19 * * 0

Option 2 : Via crontab système

Ajoutez ces lignes dans votre crontab (crontab -e) :

# Films chaque dimanche à 18h00
0 18 * * 0 /opt/container/scripts/plex-recap-movies.sh

# Séries chaque lundi à 18h00
0 18 * * 1 /opt/container/scripts/plex-recap-series.sh

# Demandes chaque mardi à 18h00
0 18 * * 2 /opt/container/scripts/plex-recap-requests.sh

Option 3 : Test manuel

Pour tester le script manuellement :

# Tester les films
python3 /opt/container/scripts/plex-weekly-recap.py --movies

# Tester les séries
python3 /opt/container/scripts/plex-weekly-recap.py --series

# Tester les demandes
python3 /opt/container/scripts/plex-weekly-recap.py --requests

Format du message Discord

Le message Discord contiendra :

  • 📺 Nouveaux Films : Liste des films ajoutés via Radarr
  • 📺 Nouvelles Séries : Liste des séries ajoutées via Sonarr
  • Demandes approuvées : Liste des demandes approuvées dans Jellyseerr

Logs

Les logs sont écrits dans /opt/container/scripts/plex-recap.log

Dépannage

  • Vérifiez que les APIs de Jellyseerr, Radarr et Sonarr sont accessibles
  • Vérifiez que l'URL du webhook Discord est correcte
  • Consultez le fichier de log pour les erreurs détaillées