TDPI b6d596c0b3
Some checks failed
Create Release PR / Create Release PR (push) Has been skipped
Build and Publish Plugin / Build Plugin + Update Manifest (release) Failing after 31s
Merge pull request 'chore(main): release 0.0.2' (#2) from release-please--branches--main into main
Reviewed-on: #2
2026-03-01 16:19:38 +01:00
2026-03-01 16:08:58 +01:00
2026-03-01 15:09:09 +00:00
2026-03-01 16:01:26 +01:00
2026-03-01 16:01:26 +01:00

SmartNotify - Jellyfin Plugin

Intelligente Discord-Benachrichtigungen für Jellyfin 10.11+

Das Problem

Wenn du eine Serie gegen eine bessere Qualität austauschst, schreit Jellyfin "NEUE EPISODE!" - obwohl es nur ein Upgrade ist. Das nervt.

Die Lösung

SmartNotify erkennt automatisch:

  • Wirklich neue Inhalte → Benachrichtigung wird gesendet
  • Qualitäts-Upgrades → Keine Benachrichtigung (oder optional eigener Typ)

Zusätzlich gruppiert SmartNotify Episoden intelligent:

  • Statt 12 einzelner Nachrichten: "Staffel 1: Episode 1-12 hinzugefügt"
  • Bei Lücken: "Episode 1-4, 6, 8-12"

Features

  • Erkennt Qualitäts-Upgrades automatisch
  • Intelligente Episoden-Gruppierung
  • Unterstützt AniDB, AniList, TMDB, TVDB, IMDB
  • Konfigurierbare Verzögerung (für Metadaten-Updates)
  • Konfigurierbare Gruppierungsfenster
  • Discord Webhook Support
  • Deutsche Oberfläche

Wie funktioniert die Erkennung?

SmartNotify führt eine lokale Datenbank mit allen bekannten Inhalten:

  1. Neues Item kommt rein
  2. SmartNotify generiert einen "Content Key" basierend auf:
    • Bei Episoden: Serie (Provider-IDs) + Staffel + Episode
    • Bei Filmen: Provider-IDs (AniDB, TMDB, etc.)
  3. Prüfung 1: Existiert dieser Content Key schon in der DB? → Upgrade!
  4. Prüfung 2: Gibt es gerade ein anderes Item mit gleichem Content Key? → Duplikat (neues File vor Löschung des alten)
  5. Nur wenn beide Prüfungen negativ sind → Benachrichtigung

Installation

Manuelle Installation

  1. Plugin von Releases herunterladen
  2. ZIP entpacken in plugins/SmartNotify/
  3. Jellyfin neustarten

Konfiguration

Nach der Installation im Jellyfin Dashboard:

  1. DashboardPluginsSmartNotify
  2. Discord Webhook URL eintragen
  3. Server URL eintragen (für Bilder in Discord)
  4. Optional: Verzögerung und Gruppierungsfenster anpassen

Einstellungen

Einstellung Standard Beschreibung
Discord Webhook URL - Die Webhook-URL deines Discord-Kanals
Server URL - Öffentliche Jellyfin-URL (für Bilder)
Verzögerung 5 min Wartezeit für Metadaten-Updates
Gruppierungsfenster 30 min Zeitfenster für Episoden-Gruppierung
Upgrades unterdrücken Keine Benachrichtigung bei Ersetzungen

Beispiel-Benachrichtigungen

Einzelne Episode

📺 Demon Slayer
Neue Episoden hinzugefügt:
Staffel 1: Episode 5

Mehrere Episoden (gruppiert)

📺 Attack on Titan
Neue Episoden hinzugefügt:
Staffel 4: Episode 1-12

Episoden mit Lücken

📺 One Piece
Neue Episoden hinzugefügt:
Staffel 1: Episode 1-4, 6, 8-12

Film

🎬 Your Name (2016)
Kimi no Na wa - Ein Junge und ein Mädchen...

Technische Details

  • Framework: .NET 8.0
  • Jellyfin-Version: 10.11+
  • Datenbank: LiteDB (lokal, im Plugin-Ordner)
  • Events: ILibraryManager.ItemAdded, ILibraryManager.ItemRemoved

Bekannte Einschränkungen

  • Provider-IDs müssen vorhanden sein (AniDB, TMDB, etc.)
  • Bei Items ohne Provider-IDs wird auf Name+Jahr zurückgefallen
  • Die Datenbank wächst mit der Zeit (kann bei Bedarf gelöscht werden)

Installation via Repository

In Jellyfin:

  1. DashboardPluginsRepositories+
  2. URL einfügen:
https://git.tdpi.dev/TDPI/jellyfin-plugin-smartnotify/raw/branch/main/manifest.json
  1. Katalog → SmartNotify installieren
  2. Jellyfin neustarten

CI/CD

Das Repository nutzt drei Gitea Workflows:

  1. create-release-pr.yaml - Bei Push auf main:

    • Analysiert Commits (feat/fix/chore)
    • Bumpt Version nach Semantic Versioning
    • Erstellt/aktualisiert Release-PR
  2. create-release.yaml - Bei PR-Merge:

    • Erstellt Git-Tag
    • Erstellt Gitea Release
  3. build-publish.yaml - Bei Release:

    • Baut das Plugin mit dotnet publish
    • Erstellt ZIP mit Checksum
    • Lädt ZIP zum Release hoch
    • Aktualisiert manifest.json automatisch

Commit Convention

Prefix Beschreibung Version Bump
feat: Neues Feature Minor (1.x.0)
fix: Bugfix Patch (1.0.x)
chore: Maintenance Patch (1.0.x)
feat!: Breaking Change Major (x.0.0)

Lizenz

MIT

Contributing

Pull Requests willkommen! Bitte teste auf Windows Dev-Umgebung.

Description
No description provided
Readme 356 KiB
v0.1.4 Latest
2026-04-07 08:39:56 +02:00
Languages
C# 87.2%
HTML 12.8%