đŸ› ïž DonationTrain – Changelog

2025-12-04
Manuelle Overlay-Steuerung & Backup-/Restore-System

Neue Kommandos zur Overlay-Steuerung:

  • `!donotrainshow` blendet das DonationTrain-Overlay manuell ein – unabhĂ€ngig davon, ob gerade ein Zug lĂ€uft.
  • `!donotrainhide` blendet das Overlay vollstĂ€ndig aus, z. B. nach Tests oder nach dem Stream.
  • `!donotrainfehler` prĂŒft einen laufenden DonationTrain auf Unstimmigkeiten (Punkte, Level, Fortschrittsbalken) und korrigiert den Zustand sowie den gespeicherten Rekordlauf automatisch, falls nötig.

 Backup- und Restore-Funktionen fĂŒr das Overlay (nur Streamer):

  • `!donotrainbackup` erstellt ein vollstĂ€ndiges Backup der aktuellen DonationTrain-Overlay-Einstellungen bei StreamElements (Layout, Farben, Texte, Ausrichtung etc.) mit Zeitstempel auf dem Server.
  • `!donotrainrestore` stellt ein ausgewĂ€hltes Backup wieder her und schreibt die gespeicherte Konfiguration zurĂŒck nach StreamElements.
  • `!donotrainrestoreinfo` listet alle verfĂŒgbaren Backups mit Datum/Uhrzeit und passender ID auf, damit gezielt ein bestimmter Stand gewĂ€hlt werden kann.

2025-10-23

Robustere Spendenerkennung, Namensvalidierung & Selbstkorrektur

  • Spendenerkennung verbessert

    • Parser akzeptiert mehr Chat-/System-Varianten (SE, Ko-fi, freie Chattexte), unterschiedliche WĂ€hrungsformen („€“, „EUR“) sowie Dezimaltrennzeichen („, “/ „.“).
    • Tolerant gegenĂŒber Emojis/Sonderzeichen; irrelevante PrĂ€-/Suffixe werden entfernt, BetrĂ€ge sicher extrahiert.
    • Duplikat- und Rauscherkennung: Mehrfachmeldungen derselben Spende innerhalb kurzer Zeitfenster werden dedupliziert.
  • Erkennung fehlerhafter/nicht existierender Namen

    • Namens-Sanitizer (Trim, Unicode-Normalisierung, Entfernung unsichtbarer Zeichen, LĂ€ngen-/ZeichenprĂŒfung).
    • UngĂŒltige oder leere Namen werden als „anonym-<laufendeNr>“ gezĂ€hlt (Case-insensitive Mapping von anonym/anonymous/Anonymous usw.), damit mehrere anonyme Spender korrekt als verschiedene Personen fĂŒr die Startlogik gezĂ€hlt werden.
    • Schutz vor Fake-/Placebo-Namen (z.B. nur Sonderzeichen): automatische Umstufung zu anonym-IDs.
  • Selbstkorrektur & Validierung

    • Nach jeder Spende: Rebuild der Session-Summen aus dem Ereignislog; Abgleich der Invarianten
    • (progressInLevel = totalPoints − ÎŁ levelGoals(<currentLevel); 0 ≀ progressInLevel < currentGoal).
    • Bei Abweichung: automatischer Self-Fix des States (Level, Progress, Goal, TotalPoints).
    • Beim Beenden: KonsistenzprĂŒfung des donationTrainRecord (Datum, maxLevel, totalPoints, donatorCount) gegen die Session; atomare Korrektur bei Unstimmigkeiten inklusive Fix-Logeintrag.
    • Overlay-Watchdog: Nach Endsignal wird die Widget-Sichtbarkeit geprĂŒft (mehrfache Retry-Versuche in kurzem Intervall). Bleibt etwas sichtbar, erfolgt ein forceHide fĂŒr alle in der Konfiguration gelisteten Widgets.
  • Logging & Nachvollziehbarkeit

    • Einheitliche Konsolen-Tags: [PARSE], [VALIDATE], [SELF-FIX], [RECORD], inkl. betroffener Donation-ID/Name und Korrekturdetails.
    • Zusammenfassung der vorgenommenen Auto-Fixes am Ende einer Session.

2025-08-06

  • 🔁 Levelberechnung ĂŒberarbeitet:
    Die Fortschrittslogik berechnet nun den Level live anhand der aktuellen Punktezahl – unabhĂ€ngig vom gespeicherten Overlay-Zustand (hypeData.level).
    → Dadurch wird garantiert, dass der angezeigte Level und Fortschrittsbalken immer korrekt sind, auch nach Neustarts oder JSON-Fehlern.

  • ✅ Korrekte Fortschrittsanzeige auch bei Spenden mit Kommastellen:
    Spenden wie „8,50 €“ oder „20,99 €“ werden exakt verarbeitet und fließen korrekt in die Level- und Fortschrittsberechnung ein.


2025-08-01

  • Hintergrundfarbe der Box nun im MenĂŒ frei einstellbar

  • Hintergrunddurchsichtigkeit ĂŒber MenĂŒ regelbar (Standardwert: 0.6)

  • Timer-SchriftgrĂ¶ĂŸen ĂŒber MenĂŒ einstellbar:
    ‱ Normal: 18 ‱ VergrĂ¶ĂŸert: 28


2025-07-30

  • PM2 Watch Delay ĂŒberarbeitet: Watcher-Script prĂŒft nach Änderung von donationTrain.js die Instanzlaufzeit erst nach 4 Sekunden – damit die neu gestarteten Instanzen korrekt erkannt werden.

  • Verkettete Watch-Probleme gelöst: Der Watch-Mechanismus wird jetzt unabhĂ€ngig von der Datei-Verlinkung korrekt ausgewertet.


2025-07-26

  • Spenderdank verbessert: Alle Spender werden am Ende des Zugs automatisch gedankt (thankDonatorsOnEnd aktiviert).

  • Spenderliste bereinigt: Fehlerhafte doppelte Spendernamen werden korrekt gefiltert.

  • Levelbalken ĂŒberarbeitet: Fortschrittsbalken zeigt nun korrekt den Fortschritt innerhalb des aktuellen Levels.

  • Neue Leveltexte: Erweiterte Auswahl an Level-Textnachrichten fĂŒr mehr Abwechslung und Immersion.


2025-07-08

  • Best-of-Version umgesetzt: EigenstĂ€ndige donationTrain.js-Version mit JWT-UnterstĂŒtzung, automatischem Overlay-Handling und Twitch-Chat-Integration.

  • Dynamische Fortschrittsberechnung: Spendenpunkte, Levelziele und Countdown-Zeiten vollstĂ€ndig konfigurierbar ĂŒber donationTrainConfig.json.


2025-06-15

  • Neuer Zug-Rekord: Level 19 mit 111.323 Punkten durch 34 Spender (gespeichert in donationTrainRecord.json).

  • Overlay aktualisiert: Fortschritt, Zeit und Spenderdaten in hypeOverlay.json live synchronisiert.


2025-06-07

  • Spendenplattform-Erkennung erweitert: UnterstĂŒtzung fĂŒr StreamElements, Ko-fi und individuelle Spendenformate per donationTrigger.json.

  • Kommandos hinzugefĂŒgt: !donotrain, !testdono, !donocooldownreset, !resettrain im Twitch-Chat verfĂŒgbar.

  • Simulationsmodus: ZufĂ€llige Testspenden durch Moderatoren möglich, zur Vorschau von Animation und Overlay-Verhalten.


2025-05-07

  • 🚀 Projekt gestartet: Erste Ideen und Grundkonzept fĂŒr den DonationTrain entworfen. Ziel: ein vollautomatischer Spendenzug mit Twitch-Integration, Overlay-Ansteuerung und Konfigurierbarkeit.
    (Hatte Zeit – war an meinem Geburtstag ^^)