Aller au contenu

Alertes

Configuration

Une alerte envoie un message Discord ou un e-mail quand quelque chose se passe : une demande attend, un film arrive, un contrôle de santé échoue. Il vous faut la permission Change settings (modifier les paramètres).

  1. Ouvrez Settings > Alerts (Paramètres > Alertes) et appuyez sur Add an Alert (ajouter une alerte).
  2. Donnez-lui un Name (nom) et choisissez un Kind (type) : Discord ou e-mail.
  3. Remplissez les champs du type choisi (voir Types).
  4. Sous When to send (quand envoyer), décochez les moments dont vous ne voulez pas. Tous sont cochés au départ ; All of these (tous) et None of these (aucun) agissent sur un groupe entier.
  5. Laissez Send messages (envoyer les messages) activé et appuyez sur Save (enregistrer).
  6. Appuyez sur Send a test (envoyer un test) sur la carte. Vous devriez voir le message arriver et la carte afficher Last sent (dernier envoi).

Dans Discord, ouvrez les paramètres du salon, puis Integrations > Webhooks (Intégrations > Webhooks), et copiez le lien. Collez-le dans Discord link (lien Discord) ; il commence par https://discord.com/. Les personnes qui ont ajouté leur identifiant d’utilisateur Discord à leur compte sont mentionnées dans les messages sur leurs demandes.

Champ Quoi saisir
Mail server (serveur de messagerie), Port (port) Votre serveur de messagerie
Security (sécurité) STARTTLS (port 587), TLS (port 465) ou None. None uniquement pour un serveur de messagerie sur votre propre réseau
From address (adresse d’expédition) L’adresse de l’expéditeur
Mail username (nom d’utilisateur de messagerie), Mail password (mot de passe de messagerie) Le compte de messagerie
Staff addresses (adresses de l’équipe) Une ou plusieurs, séparées par des virgules

Les messages sur une demande vont aux personnes qui l’ont faite, à l’adresse de leur compte. Tout le reste va aux adresses de l’équipe.

Telegram, ntfy, Gotify, Pushover et les webhooks sont en réserve dans cette version. Voir Fonctionnalités en réserve.

Moment Destinataires Quand
New request (nouvelle demande) Équipe Un film, une série ou un artiste attend une approbation
Approved (approuvée) Demandeurs Leur demande a été approuvée
Declined (refusée) Demandeurs Refusée, avec votre note
Ready (prêt) Demandeurs Les fichiers sont dans la Bibliothèque
New episodes (nouveaux épisodes) Demandeurs et personnes qui suivent la série Au plus 1 par série et par heure. Chaque personne peut les désactiver
New albums (nouveaux albums) Personnes qui suivent l’artiste Au plus 1 par artiste et par heure
Problem reported (problème signalé) Équipe Quelqu’un a signalé un titre. Les signalements sont dans /requests/reports
Problem fixed (problème corrigé) Auteur du signalement Avec votre réponse
Sent to download (envoyée au téléchargement) Équipe Une release est partie vers un client de téléchargement
In the Library (dans la Bibliothèque) Équipe Des fichiers ont été placés, y compris une meilleure copie
Renamed (renommé) Équipe Des fichiers ont reçu de nouveaux noms
Added (ajouté) Équipe Un titre a été ajouté à la main, depuis une liste ou depuis une demande
Deleted (supprimé) Équipe Un film, une série, une saison ou des épisodes ont quitté la Bibliothèque
Health (état de santé) Équipe Un contrôle de santé a échoué ou est rétabli
Needs a decision (décision requise) Équipe Un téléchargement ou un import a besoin de vous

Sous la liste, Season packs (packs de saison) décide de ce qu’envoie un téléchargement qui contient beaucoup d’épisodes : One Alert for the pack (une alerte pour le pack), avec une ligne par épisode, ou One Alert per episode (une alerte par épisode).

Atteindre le réseau local

Lien vers Atteindre le réseau local

Désactivé par défaut. Tant qu’il est désactivé, les alertes Discord ne vont que vers discord.com et les autres types uniquement vers des serveurs sur Internet ; les liens vers cette machine ou votre réseau domestique sont refusés, même après une résolution de nom. Activez-le pour un serveur de messagerie ou un récepteur à la maison. Les redirections ne sont jamais suivies.

Mettre une alerte en pause

Lien vers Mettre une alerte en pause

Décochez Send messages. La carte affiche Off (désactivée) et l’alerte reste.

Mots de passe et jetons

Lien vers Mots de passe et jetons

Ils sont stockés chiffrés, puis affichés comme Stored (stocké). Laissez le champ vide pour garder la valeur. Si vous dirigez une alerte vers un autre serveur, vous saisissez à nouveau le secret ; un secret stocké ne part jamais vers un nouvel endroit.

Si ça ne fonctionne pas

Lien vers Si ça ne fonctionne pas

Symptôme :

Paste the Discord link

Cause : le lien ne commence pas par https://discord.com/. Solution : copiez à nouveau le lien du webhook. Pour un serveur de type Discord à la maison, activez Reach the local network (atteindre le réseau local).

Symptôme :

Points to the local network, which this Alert may not reach

Cause : le serveur est sur cette machine ou sur votre réseau domestique. Solution : activez Reach the local network.

Symptôme : Last try failed (dernier essai échoué) avec une réponse 401 ou 404. Cause : le lien ou le jeton est faux. Dans ce cas, il n’y a pas de nouvel essai. Solution : corrigez-le et appuyez sur Send a test.

Symptôme : la personne qui a fait la demande n’a rien reçu. Cause : pas d’adresse e-mail ni d’identifiant d’utilisateur Discord sur son compte, le moment est décoché, ou elle a désactivé les nouveaux épisodes. Solution : vérifiez ces trois points.

Nouveaux essais

Un délai dépassé, une réponse demandant de ralentir ou une erreur du serveur entraîne un nouvel essai après 5 s, 30 s et 2 min. Une attente plus longue demandée par le serveur est respectée, jusqu’à 5 min. Un refus, comme un lien faux, n’est pas réessayé. Chaque échec ajoute une ligne « Alert could not be sent » à l’Historique.

Les types en réserve et leurs champs

Affichés seulement quand l’interrupteur alert_channels_more est activé.

Type Champs
Telegram Bot token (jeton du bot) donné par @BotFather, Chat ID (identifiant de la discussion : identifiant d’utilisateur, de groupe ou de canal, ou @channel). Écrivez d’abord au bot ou ajoutez-le au groupe
ntfy Server address (adresse du serveur ; vide veut dire ntfy.sh), Topic (sujet), Access token (jeton d’accès) facultatif. Toute personne qui connaît le sujet peut le lire
Gotify Server address, App token (jeton d’application)
Pushover User key (clé utilisateur ; les clés de groupe fonctionnent), App token
Webhook (JSON) Webhook link (lien du webhook), Secret (secret) facultatif, What the secret does (ce que fait le secret)
Ce qu'un webhook reçoit

Un POST par message, Content-Type: application/json, avec ces en-têtes :

En-tête Valeur
X-HolyArrs-Event Le moment, comme import ou test
X-HolyArrs-Delivery Identifiant aléatoire de ce message
X-HolyArrs-Timestamp Avec Signs each message (signe chaque message) : secondes depuis 1970
X-HolyArrs-Signature Avec Signs each message : sha256= suivi du HMAC-SHA256 en hexadécimal de <timestamp>.<delivery>.<body>, avec votre secret comme clé
Authorization Avec Is sent as a bearer token (est envoyé comme jeton bearer) : Bearer <secret>

Avec Nothing (rien), aucun secret n’est envoyé. Si vous signez, refusez les horodatages anciens et les identifiants de message déjà vus, pour qu’un message copié ne puisse pas être rejoué.

{
"moment": "import",
"event_kind": "import_done",
"subject": "In the Library: Arrival (2016)",
"text": "Import done: 1 placed by hardlink",
"at": "2025-01-01T18:04:11Z",
"movie": { "id": 12, "name": "Arrival", "year": 2016, "tmdb": "329865", "imdb": "tt2543164" },
"data": { "from": "/downloads/Arrival.2016.1080p" }
}

D’autres champs apparaissent quand ils s’appliquent : test, show et episodes, artist et tracks, report, people. people contient les noms des demandeurs, jamais leurs adresses. data contient les raisons et les chemins de la ligne d’Historique à l’origine du message. Toute réponse 2xx compte comme livrée.

HolyArrs est gratuit. S'il vous a fait gagner du temps, mettez-lui une étoile sur GitHub, sponsorisez-le ou offrez-moi un café.