Ko-fi Integration: Membership, Goal-Widgets & Supporter-Display #62

Open
opened 2026-07-15 20:02:23 +02:00 by frank · 0 comments
Owner

Kontext

Ko-fi unterstützt wiederkehrende Memberships mit verschiedenen Tier-Stufen. Streamer nutzen diese Tiers, um exklusive Vorteile zu bieten und Ziele zu setzen. Aktuell fehlt in streamertool die Möglichkeit, Membership-Fortschritt und Supporter öffentlich darzustellen.

Ko-fi Membership Features:

  • Monatliche Abonnements mit Tier-Stufen
  • Tier-Name, Preis, Beschreibung
  • Wiederkehrende Zahlungen mit is_first_subscription_payment Flag
  • Kein REST-API (nur Webhooks) — Tiers & Goals müssen aus Webhook-Daten aggregiert werden

Ziel

Ko-fi Membership Widgets & Supporter Display für streamertool:

1. Membership-Tier Widget (OBS Overlay)

  • Anzeige der aktuellen Membership-Tiers (Name, Preis, Beschreibung)
  • Anzahl der Supporter pro Tier
  • Automatische Aktualisierung bei neuen Subscriptions (via Webhook)
  • Gestaffelte Darstellung (höchstes Tier oben)
  • Konfigurierbares Design (Farben, Position, Größe)

2. Goal Widget (Monatliches Einnahme-Ziel)

  • Monatliches Einnahmen-Ziel aus Ko-fi konfigurierbar
  • Fortschrittsbalken mit Ziel-Betrag und aktuellem Betrag
  • Automatische Aggregation aus Webhook-Einnahmen
  • Unterstützt: Donations + Subscriptions + Commissions + Shop
  • Konfigurierbares Ziel (monatlich, wöchentlich)
  • Animation bei Ziel-Erreichung (Celebration Overlay)

3. Top Supporters Widget

  • Live-Liste der Top-Ko-fi Supporter
  • Sortiert nach Gesamtbeitrag (Summe aller Transaktionen)
  • Respektiert is_public Flag (private = nicht angezeigt)
  • Konfigurierbare Anzahl (top 3, top 5, top 10)
  • Anzeige: Rang, Name, Gesamtbetrag, aktuelles Tier
  • Aktualisiert sich mit jedem neuen Webhook-Event
  • Supporter Wall Modus (vollbild, scrollend)

4. Erstmaliger Supporter Highlight

  • Spezielles Overlay/Hervorhebung für "erste Subscription"
  • Willkommens-Animation für neue Members
  • "New Member" Badge/Effekt für bestimmte Zeit

5. Dashboard

  • Übersicht: Aktuelle Supporter, Total Members, Total Revenue
  • Manuelle Anpassung der Einnahmen-Ziele
  • Historie der Tiers (wer war wann Member)
  • Supporter suchen/filtern

Technische Leitplanken

  • Datenquelle: Aggregation aus Ko-fi Webhook-Events (kein REST-Polling möglich)
  • Speicher: Lokale SQLite/JSON-Datenbank unter data/kofi.json
  • Overlays: HTML/CSS/JS Browser Sources via lokalen Server
  • Gebündelt mit #61: Setzt den Webhook-Empfänger aus #61 voraus
  • Konfiguration: In settings.json unter integrations.kofi.goals

Akzeptanz

  • Membership-Tier Overlay zeigt aktuelle Supporter pro Tier
  • Goal Widget zeigt Fortschritt und aktualisiert bei jedem Event
  • Top Supporters Liste ist sortiert und korrekt
  • New Member Highlight wird beim ersten Subscription-Event aktiviert
  • Dashboard zeigt vollständige Übersicht
  • Private Supporter werden korrekt ausgeblendet

Verwandte Issues

  • #30 Donation/Tip-System
  • #61 Ko-fi Webhook-System & Alert-Overlay (VORAUSSETZUNG)
  • #63 Patreon Integration
## Kontext Ko-fi unterstützt **wiederkehrende Memberships** mit verschiedenen Tier-Stufen. Streamer nutzen diese Tiers, um exklusive Vorteile zu bieten und Ziele zu setzen. Aktuell fehlt in streamertool die Möglichkeit, Membership-Fortschritt und Supporter öffentlich darzustellen. **Ko-fi Membership Features:** - Monatliche Abonnements mit Tier-Stufen - Tier-Name, Preis, Beschreibung - Wiederkehrende Zahlungen mit `is_first_subscription_payment` Flag - Kein REST-API (nur Webhooks) — Tiers & Goals müssen aus Webhook-Daten aggregiert werden ## Ziel **Ko-fi Membership Widgets & Supporter Display** für streamertool: ### 1. Membership-Tier Widget (OBS Overlay) - [ ] Anzeige der aktuellen Membership-Tiers (Name, Preis, Beschreibung) - [ ] Anzahl der Supporter pro Tier - [ ] Automatische Aktualisierung bei neuen Subscriptions (via Webhook) - [ ] Gestaffelte Darstellung (höchstes Tier oben) - [ ] Konfigurierbares Design (Farben, Position, Größe) ### 2. Goal Widget (Monatliches Einnahme-Ziel) - [ ] Monatliches Einnahmen-Ziel aus Ko-fi konfigurierbar - [ ] Fortschrittsbalken mit Ziel-Betrag und aktuellem Betrag - [ ] Automatische Aggregation aus Webhook-Einnahmen - [ ] Unterstützt: Donations + Subscriptions + Commissions + Shop - [ ] Konfigurierbares Ziel (monatlich, wöchentlich) - [ ] Animation bei Ziel-Erreichung (Celebration Overlay) ### 3. Top Supporters Widget - [ ] Live-Liste der Top-Ko-fi Supporter - [ ] Sortiert nach Gesamtbeitrag (Summe aller Transaktionen) - [ ] Respektiert `is_public` Flag (private = nicht angezeigt) - [ ] Konfigurierbare Anzahl (top 3, top 5, top 10) - [ ] Anzeige: Rang, Name, Gesamtbetrag, aktuelles Tier - [ ] Aktualisiert sich mit jedem neuen Webhook-Event - [ ] Supporter Wall Modus (vollbild, scrollend) ### 4. Erstmaliger Supporter Highlight - [ ] Spezielles Overlay/Hervorhebung für "erste Subscription" - [ ] Willkommens-Animation für neue Members - [ ] "New Member" Badge/Effekt für bestimmte Zeit ### 5. Dashboard - [ ] Übersicht: Aktuelle Supporter, Total Members, Total Revenue - [ ] Manuelle Anpassung der Einnahmen-Ziele - [ ] Historie der Tiers (wer war wann Member) - [ ] Supporter suchen/filtern ## Technische Leitplanken - **Datenquelle**: Aggregation aus Ko-fi Webhook-Events (kein REST-Polling möglich) - **Speicher**: Lokale SQLite/JSON-Datenbank unter `data/kofi.json` - **Overlays**: HTML/CSS/JS Browser Sources via lokalen Server - **Gebündelt mit #61**: Setzt den Webhook-Empfänger aus #61 voraus - **Konfiguration**: In `settings.json` unter `integrations.kofi.goals` ## Akzeptanz - [ ] Membership-Tier Overlay zeigt aktuelle Supporter pro Tier - [ ] Goal Widget zeigt Fortschritt und aktualisiert bei jedem Event - [ ] Top Supporters Liste ist sortiert und korrekt - [ ] New Member Highlight wird beim ersten Subscription-Event aktiviert - [ ] Dashboard zeigt vollständige Übersicht - [ ] Private Supporter werden korrekt ausgeblendet ## Verwandte Issues - #30 Donation/Tip-System - #61 Ko-fi Webhook-System & Alert-Overlay **(VORAUSSETZUNG)** - #63 Patreon Integration
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
frank/streamertool#62
No description provided.