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

148 lines
4.4 KiB
Markdown

# 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 :
```bash
# 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** :
```bash
/opt/container/scripts/plex-recap-movies.sh
```
**Envoyer uniquement les séries** :
```bash
/opt/container/scripts/plex-recap-series.sh
```
**Envoyer uniquement les demandes approuvées** :
```bash
/opt/container/scripts/plex-recap-requests.sh
```
### Méthode 2 : Arguments en ligne de commande
**Envoyer uniquement les films** :
```bash
python3 /opt/container/scripts/plex-weekly-recap.py --movies
```
**Envoyer uniquement les séries** :
```bash
python3 /opt/container/scripts/plex-weekly-recap.py --series
```
**Envoyer uniquement les demandes approuvées** :
```bash
python3 /opt/container/scripts/plex-weekly-recap.py --requests
```
**Envoyer tout (films, séries, demandes) - par défaut** :
```bash
python3 /opt/container/scripts/plex-weekly-recap.py --all
# ou simplement
python3 /opt/container/scripts/plex-weekly-recap.py
```
**Personnaliser le nombre de jours** :
```bash
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 :
```bash
# 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