๐Ÿ’ Donation System

Stream-Donations mit Custom Alerts, TTS, Goals und Leaderboards. Self-hosted โ€” kein StreamElements/StreamLabs nรถtig.

๐Ÿ’ก Konzept

Wie StreamElements Tips, aber self-hosted + direkt integriert

Warum eigenes System?

StreamElements nimmt Gebรผhren + hat deine Daten. Unser System: 0% Gebรผhr (nur Stripe/PayPal Fees), volle Kontrolle, direkte Integration mit Overlay + Workflow Engine + Subathon.

Wie funktioniert's?

ร–ffentliche Donation Page (Link in Twitch Bio / Chat Command). Viewer wรคhlt Betrag, schreibt Nachricht, zahlt per Stripe/PayPal. Alert erscheint im Stream Overlay. Optional TTS.

Integration

Donation = Workflow Trigger. Alert im Overlay, Subathon Timer Add, Discord Notification, Chat Message, Leaderboard Update โ€” alles automatisch.

๐Ÿ”„ Donation Flow
Viewer
ร–ffnet Donation Page
โ†’
Betrag + Nachricht
Optional: TTS aktivieren
โ†’
๐Ÿ’ณ Payment
Stripe / PayPal
โ†’
โœ… Webhook
Payment confirmed
โ†’
๐Ÿ“ก Events
Redis โ†’ WS โ†’ Overlay
โ†’
๐Ÿ”” Alert
+ TTS + Sound
+ Subathon Add
๐Ÿ–ฅ Donation Page โ€” Mockup

ร–ffentliche Seite: codenull.de/donate oder custom Domain

๐ŸŽฎ
Support Codenull
Jede Donation erscheint live im Stream!
Betrag wรคhlen
โ‚ฌ1
โ‚ฌ5
โ‚ฌ10
โ‚ฌ25
โ‚ฌ50
โ‚ฌ100
Custom Betrag...
Dein Name
Nachricht (optional)
Text-to-Speech aktivieren (+โ‚ฌ0)
Bezahlmethode
๐Ÿ’ณ Kreditkarte
๐Ÿ…ฟ๏ธ PayPal
Powered by Codenull ยท Secure Payment via Stripe

โš™๏ธ Konfigurierbar

  • Minimum Betrag (z.B. โ‚ฌ1 Minimum)
  • TTS Minimum (z.B. ab โ‚ฌ3 fรผr TTS)
  • TTS Kosten (โ‚ฌ0 extra oder aufpreis)
  • Preset Betrรคge (โ‚ฌ1, โ‚ฌ5, โ‚ฌ10, โ‚ฌ25 etc)
  • Max Nachricht-Lรคnge (z.B. 300 Zeichen)
  • Banned Words Filter fรผr Nachrichten
  • Custom Page Design (Logo, Farben, Text)
  • Custom URL (/donate oder /tip)
  • Wรคhrung (EUR default, Multi-Currency mรถglich)

๐Ÿ”” Was passiert nach Donation

  • โœ… Overlay Alert (Bild + Sound + Animation)
  • โœ… TTS liest Nachricht vor (Web Speech API)
  • โœ… Subathon Timer: +Zeit basierend auf Betrag
  • โœ… Donation Goal Widget updated
  • โœ… Leaderboard updated
  • โœ… Discord Notification (#donations Channel)
  • โœ… Twitch Chat Message ("DankDonator donated โ‚ฌ5!")
  • โœ… OBS Event Dock zeigt Donation
  • โœ… Admin Panel Live-Update
  • โœ… Workflow Engine Trigger fรผr Custom Actions
๐Ÿ“ฆ Features

๐Ÿ’ณ Payment

  • Stripe (Kreditkarte, SEPA, Klarna)
  • PayPal
  • Min/Max Betrag konfigurierbar
  • Multi-Currency (EUR, USD, GBP)
  • Webhook-basiert (idempotent)
Must Have

๐Ÿ”” Alert Varianten

  • Tier-basiert (wie im Overlay System):
  • < โ‚ฌ5: kleines Alert
  • โ‚ฌ5-20: + TTS
  • โ‚ฌ20-50: + Video
  • โ‚ฌ50+: Full-Screen Takeover
Must Have

๐Ÿ—ฃ Text-to-Speech

  • Web Speech API im OBS Browser Source
  • Optional pro Donation
  • Min Betrag fรผr TTS konfigurierbar
  • Banned Words / Profanity Filter
  • Max Nachricht-Lรคnge
Must Have

๐Ÿ“Š Goals

  • Donation Goal (Session, Tag, Monat)
  • Widget im Overlay (Bar/Text/Circle)
  • Auto-Reset per Stream oder manuell
  • Multiple Goals gleichzeitig
Must Have

๐Ÿ† Leaderboards

  • Top Donators (Session/Woche/Monat/All-Time)
  • Recent Donations Liste
  • Overlay Widget + Admin Panel
  • Anonyme Donations optional
Should Have

๐Ÿ“ง Notifications

  • Email an Streamer bei Donation
  • Discord Webhook (#donations)
  • Twitch Chat Message
  • Push Notification (future)
Should Have

๐Ÿ”— Subathon Integration

  • โ‚ฌ1 Donation = +X Minuten
  • Konfigurierbar pro Betrag
  • Automatisch via Workflow Engine
Must Have

๐Ÿ“ˆ Analytics

  • Donations รผber Zeit (Graph)
  • Durchschnittsbetrag
  • Top Donators
  • Conversion Rate (Page Views vs Donations)
Should Have

๐ŸŽจ Custom Donation Page

  • Logo, Farben, Hintergrund
  • Custom Text/Description
  • Social Links
  • Preview im Admin Panel
Should Have
๐Ÿ–ฅ Admin โ€” Donations Dashboard
codenull.de/admin/donations
โ‚ฌ347
Today
โ‚ฌ2,156
This Month
89
Donations (Month)
โ‚ฌ24.22
Avg Donation

Recent Donations

TimeDonorAmountMessageTTSPayment
19:45 DankDonator โ‚ฌ25.00 "GG das war ein geiler Stream! ๐Ÿ”ฅ" Yes Stripe
19:32 Anonymous โ‚ฌ5.00 "Keep it up!" No PayPal
19:15 BigFan2024 โ‚ฌ100.00 "Hier nimm mein Geld! ๐Ÿ’ฐ๐Ÿ’ฐ๐Ÿ’ฐ" Yes Stripe
18:58 xXGamerXx โ‚ฌ2.00 "nice" No Stripe
๐Ÿ—„ Datenmodell
donation id text PK userId text? FK โ†’ user // null = anonymous / unregistered displayName text // "DankDonator" or "Anonymous" email text? // for receipt amount decimal // 25.00 currency text // "EUR" message text? // max 300 chars, filtered ttsEnabled boolean isAnonymous boolean status enum // PENDING, COMPLETED, REFUNDED, FAILED paymentProvider enum // STRIPE, PAYPAL paymentId text? // Stripe PaymentIntent / PayPal Order ID alertShown boolean // track if alert was displayed ttsPlayed boolean // track if TTS was spoken createdAt timestamp donationSettings id text PK userId text FK โ†’ user isEnabled boolean minAmount decimal // 1.00 ttsMinAmount decimal // 3.00 presetAmounts integer[] // [1, 5, 10, 25, 50, 100] currency text // "EUR" maxMessageLength integer // 300 bannedWords text[] // profanity filter pageConfig jsonb // { logo, title, description, colors, socialLinks } alertConfig jsonb // tier-based alert settings (reuses overlay alertConfig format) donationGoal id text PK userId text FK โ†’ user title text // "Stream PC Upgrade" targetAmount decimal // 500.00 currentAmount decimal // 347.50 (denormalized) resetMode enum // MANUAL, PER_STREAM, DAILY, MONTHLY isActive boolean completedAt timestamp?
๐Ÿ”— Integration mit anderen Modulen

๐ŸŽจ Overlay

Donation Alert im Alert Box Widget. Tier-basiert (Betrag โ†’ unterschiedliches Design). Goal Widget zeigt aktuellen Stand.

๐Ÿค– Discord

#donations Channel Notification. Optional: Donor bekommt Discord Rolle ab Betrag X.

๐Ÿ“บ Twitch

Chat Message: "DankDonator donated โ‚ฌ25! 'GG!'". Via Twitch Bot (butler_jamie).

โšก Workflow

Trigger: donation.completed. Conditions: amount, donor, anonymous. Actions: beliebig.

โฑ Subathon

โ‚ฌ1 = +X Minuten. Automatisch per Workflow Action. Konfigurierbar in Subathon Settings.

๐Ÿ›’ Shop

Gleiche Payment-Infrastruktur (Stripe/PayPal). Shared Webhook Handler. Gleicher User Account.

๐Ÿ“‹ OBS Dock

Donations im Event Feed (SSE). Quick Action: Alert replay, Donor Info.

๐Ÿ“ก StreamDeck

Button: Last Donation vorlesen. Button: Donation Goal anzeigen/verstecken.

โ“ Offene Fragen

1. Refund Policy

Kรถnnen Donations zurรผckerstattet werden? Manuell per Admin? Automatisch bei Chargeback? Oder "alle Donations sind final"?

2. Recurring Donations

Soll es monatlich wiederkehrende Donations geben (wie Patreon-Style)? Oder nur einmalige? Recurring wรคre eigentlich ein Subscription-Produkt im Shop.

3. Minimum TTS-Betrag

Ab welchem Betrag soll TTS verfรผgbar sein? โ‚ฌ1? โ‚ฌ3? โ‚ฌ5? Oder immer verfรผgbar? Missbrauch-Risiko bei niedrigem Minimum.

4. Donation Page URL

Unter codenull.de/donate? Oder eigene Domain mรถglich? Oder beides (Redirect)?

Codenull Platform ยท Donation System Module Planning ยท 2026-03-18