{"id":29543862,"url":"https://github.com/fasterralf/twitchsummonsystem","last_synced_at":"2026-04-11T12:37:23.505Z","repository":{"id":303236022,"uuid":"990873649","full_name":"Fasterralf/TwitchSummonSystem","owner":"Fasterralf","description":"Interactive Twitch chat summon system with gacha mechanics, OBS integration, and Discord notifications","archived":false,"fork":false,"pushed_at":"2025-07-06T13:56:32.000Z","size":2072,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-06T14:34:53.872Z","etag":null,"topics":["chatbot","csharp","discord","dotnet","gacha","lottery","obs","signalr","streaming","twitch","webhook"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Fasterralf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-26T19:18:40.000Z","updated_at":"2025-07-06T13:56:35.000Z","dependencies_parsed_at":"2025-07-06T14:45:19.588Z","dependency_job_id":null,"html_url":"https://github.com/Fasterralf/TwitchSummonSystem","commit_stats":null,"previous_names":["fasterralf/twitchsummonsystem"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Fasterralf/TwitchSummonSystem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fasterralf%2FTwitchSummonSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fasterralf%2FTwitchSummonSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fasterralf%2FTwitchSummonSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fasterralf%2FTwitchSummonSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fasterralf","download_url":"https://codeload.github.com/Fasterralf/TwitchSummonSystem/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fasterralf%2FTwitchSummonSystem/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265614356,"owners_count":23798428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","csharp","discord","dotnet","gacha","lottery","obs","signalr","streaming","twitch","webhook"],"created_at":"2025-07-17T14:08:52.954Z","updated_at":"2026-04-11T12:37:23.498Z","avatar_url":"https://github.com/Fasterralf.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎮 TwitchSummonSystem\n\n**Automatisches Twitch Channel Point System mit schönen OBS-Animationen** \n\nDeine Zuschauer können Channel Points ausgeben → Das System macht automatisch einen \"Summon\" → Schöne Animation in OBS → Discord-Benachrichtigung bei Gold!\n\n## 🚀 **Was macht das System?**\n\n1. **👤 Zuschauer** drückt dein Channel Point Reward (z.B. \"Summon\")\n2. **🎯 System** würfelt: Normal (häufig) oder **GOLD** (selten, aber Chance steigt!)\n3. **📺 OBS** zeigt automatisch schöne Animation (Gold = spektakulär!)\n4. **🤖 Chat Bot** schreibt Ergebnis in den Chat\n5. **📱 Discord** bekommt Benachrichtigung bei Gold-Summons\n\n**🎯 Perfekt für**: Gacha-Games, Pack-Öffnungen, Glücksspiel-Content, Viewer-Interaction\n\n## ⚠️ **BEVOR DU ANFÄNGST - Das brauchst du:**\n\n- ✅ **Twitch-Account** (mit Channel Point Rewards freigeschaltet)\n- ✅ **Discord Server** (für Benachrichtigungen)  \n- ✅ **Computer/Server** (Windows oder Linux)\n- ✅ **30 Minuten Zeit** für die Einrichtung\n- ❌ **KEINE Programmierkenntnisse** nötig!\n\n## 🛠️ **SCHRITT-FÜR-SCHRITT ANLEITUNG (Für totale Anfänger)**\n\n### **📱 SCHRITT 1: Twitch Developer Account erstellen**\n\n1. Gehe zu [dev.twitch.tv](https://dev.twitch.tv) \n2. Melde dich mit deinem Twitch-Account an\n3. Klicke auf **\"Console\"** \n4. Klicke **\"Applikationen registrieren\"**\n5. Fülle aus:\n   - **Name**: `MeinSummonSystem` (oder was du willst)\n   - **OAuth-Redirect-URLs**: `http://localhost:3000`\n   - **Kategorie**: `Game Integration`\n6. **Speichern** klicken\n7. **WICHTIG**: Notiere dir:\n   - ✏️ **Client-ID** (langes Kauderwelsch)\n   - ✏️ **Client Secret** (klicke \"Neues Secret generieren\")\n\n### **🎁 SCHRITT 2: Channel Point Reward erstellen**\n\n1. Gehe in dein **Twitch Creator Dashboard**\n2. **Einstellungen** → **Community** → **Channel-Punkte**\n3. Klicke **\"Belohnung hinzufügen\"**\n4. Erstelle eine neue Belohnung:\n   - **Name**: `Summon` (MERKE DIR DEN EXAKTEN NAMEN!)\n   - **Kosten**: z.B. 100 Channel Points\n   - **Beschreibung**: \"Würfle um Gold!\"\n5. **Speichern**\n\n### **📱 SCHRITT 3: Discord Webhooks erstellen**\n\n1. Gehe in deinen **Discord Server**\n2. **Server-Einstellungen** → **Integrationen** → **Webhooks**\n3. **\"Neuer Webhook\"** klicken\n4. Erstelle **2 Webhooks**:\n   - **Webhook 1**: `Summon-Normal` (für alle Meldungen)\n   - **Webhook 2**: `Summon-Fehler` (für Fehler)\n5. Bei jedem Webhook: **\"Webhook-URL kopieren\"** klicken\n6. **NOTIERE DIR BEIDE URLs!**\n\n### **💻 SCHRITT 4A: Auf deinem Windows-PC testen**\n\n1. **Downloade das Projekt:**\n   ```\n   Gehe zu: https://github.com/Fasterralf/TwitchSummonSystem\n   Klicke den grünen \"Code\" Button\n   Klicke \"Download ZIP\"\n   Entpacke die ZIP-Datei\n   ```\n\n2. **Installiere .NET 8:**\n   - Gehe zu [dotnet.microsoft.com](https://dotnet.microsoft.com/download)\n   - Downloade \".NET 8.0 Runtime\" für Windows\n   - Installiere es\n\n3. **Konfigurationsdatei bearbeiten:**\n   - Öffne den entpackten Ordner\n   - Kopiere die Datei `.env.example` zu `.env`\n   - Öffne `.env` mit Notepad\n   - Fülle ALLE Werte aus (die du dir in Schritt 1-3 notiert hast):\n\n```bash\n# Deine Twitch-Daten hier eintragen:\nTWITCH_CLIENT_ID=HIER_DEINE_CLIENT_ID_EINTRAGEN\nTWITCH_CLIENT_SECRET=HIER_DEIN_CLIENT_SECRET_EINTRAGEN\nTWITCH_ACCESS_TOKEN=HIER_SPÄTER_EINTRAGEN\nTWITCH_REFRESH_TOKEN=HIER_SPÄTER_EINTRAGEN\nTWITCH_CHANNEL_ID=DEINE_TWITCH_USER_ID\nTWITCH_CHANNEL_NAME=dein_twitch_username\nTWITCH_SUMMON_REWARD_NAME=Summon\n\n# Bot-Konfiguration (kann erstmal gleich sein):\nTWITCH_BOT_USERNAME=dein_twitch_username\nTWITCH_BOT_CLIENT_ID=GLEICHE_WIE_OBEN\nTWITCH_BOT_CLIENT_SECRET=GLEICHE_WIE_OBEN\nTWITCH_CHAT_OAUTH_TOKEN=HIER_SPÄTER_EINTRAGEN\nTWITCH_CHAT_REFRESH_TOKEN=HIER_SPÄTER_EINTRAGEN\n\n# Discord Webhooks:\nDISCORD_WEBHOOK_URL=HIER_DEINE_ERSTE_WEBHOOK_URL\nDISCORD_ERROR_WEBHOOK_URL=HIER_DEINE_ZWEITE_WEBHOOK_URL\n```\n\n4. **Programm starten:**\n   - Öffne **Eingabeaufforderung** (cmd)\n   - Navigiere zum Projektordner: `cd C:\\Pfad\\Zu\\Deinem\\TwitchSummonSystem`\n   - Tippe: `dotnet restore`\n   - Tippe: `dotnet run`\n   - Das Programm startet auf: `http://localhost:5173`\n\n### **🖥️ SCHRITT 4B: Auf Linux-Server (für Fortgeschrittene)**\n\n**Vollständige Server-Anleitung findest du in `SERVER_SETUP.md`**\n\n## **🔑 WICHTIG: Access Tokens generieren**\n\nDie **Access Tokens** sind kompliziert zu bekommen. Du hast 2 Optionen:\n\n### **Option A: Einfach (Tool nutzen)**\n1. Nutze: [twitchtokengenerator.com](https://twitchtokengenerator.com)\n2. Wähle die Berechtigung: `channel:read:redemptions chat:read chat:edit`\n3. Kopiere **Access Token** und **Refresh Token** \n\n### **Option B: Manuell (kompliziert)**\nSiehe offizielle Twitch-Dokumentation (nicht für Anfänger empfohlen)\n\n## **📺 OBS einrichten (Für die schönen Animationen)**\n\n1. **Öffne OBS Studio**\n2. **Quelle hinzufügen** → **Browser**\n3. **Neue Browser-Quelle erstellen:**\n   - **URL**: `http://localhost:5173/obs.html`\n   - **Breite**: `1920`\n   - **Höhe**: `1080`\n   - **FPS**: `30`\n4. **OK** klicken\n5. **Fertig!** Animationen erscheinen automatisch bei Summons\n\n## **🎮 Testen ob alles funktioniert**\n\n1. **Starte das Programm** (siehe oben)\n2. **Öffne in Browser**: `http://localhost:5173/admin.html`\n3. **Schaue ob alle Status grün sind**\n4. **Gehe auf Twitch** und nutze dein Channel Point Reward\n5. **Schaue ob Animation in OBS erscheint**\n6. **Prüfe Discord** ob Benachrichtigung kam\n\n## **❗ HÄUFIGE PROBLEME \u0026 LÖSUNGEN**\n\n### **\"Reward nicht gefunden\"**\n- ➡️ **Prüfe**: Ist der Name in `.env` datei EXAKT gleich wie auf Twitch?\n- ➡️ **Achte auf**: Groß-/Kleinschreibung, Leerzeichen, Sonderzeichen\n\n### **\"Chat Bot verbindet nicht\"**\n- ➡️ **Prüfe**: Access Token korrekt?\n- ➡️ **Tipp**: Gehe zu `http://localhost:5173/admin.html` für Details\n\n### **\"Discord Benachrichtigungen kommen nicht\"**\n- ➡️ **Prüfe**: Webhook-URLs korrekt kopiert?\n- ➡️ **Test**: Klicke in Discord auf deinen Webhook → \"Test\"\n\n### **\"Programm startet nicht\"**\n- ➡️ **Prüfe**: .NET 8 installiert?\n- ➡️ **Versuche**: `dotnet --version` in Eingabeaufforderung\n\n### **\"Access Token ungültig\"**\n- ➡️ **Lösung**: Generiere neue Tokens bei twitchtokengenerator.com\n- ➡️ **Häufig**: Tokens laufen ab, müssen erneuert werden\n\n## **🚀 Für Server-Betreiber (24/7 laufen lassen)**\n\nWenn du das System **24/7 auf einem Server** laufen lassen willst:\n\n1. **Miete einen Linux-Server** (z.B. Contabo, Hetzner, AWS)\n2. **Folge der Anleitung** in `SERVER_SETUP.md`\n3. **Lade deine `.env` Datei** sicher auf den Server\n4. **Starte den Service** mit den mitgelieferten Skripten\n\n**Server-Vorteile:**\n- ✅ Läuft 24/7, auch wenn dein PC aus ist\n- ✅ Bessere Performance \n- ✅ Professioneller für deine Zuschauer\n\n---\n\n## **🔧 Technische Details (für Entwickler)**\n\n### **System URLs**\n- **🏠 Main App**: `http://localhost:5173/`\n- **⚙️ Admin Dashboard**: `http://localhost:5173/admin.html`\n- **📺 OBS Browser Source**: `http://localhost:5173/obs.html`  \n- **❤️ Health Check**: `http://localhost:5173/health`\n\n### **Features**\n- **🎁 Twitch Integration**: Automatische Channel Point Reward Behandlung\n- **📺 OBS Browser Source**: Schöne Summon-Animationen mit Gold/Normal Effekten  \n- **📱 Discord Benachrichtigungen**: Auto-Meldungen bei Gold-Summons und System-Fehlern\n- **🎯 Pity System**: Erhöhte Gold-Chancen nach normalen Summons\n- **⚡ Real-time Updates**: SignalR für Live-Browser-Updates\n- **🔄 Smart Token Management**: Automatische Twitch-Token Erneuerung\n- **🛡️ Rate Limiting \u0026 Security**: Schutz vor API-Missbrauch\n- **❤️ Health Monitoring**: System-Überwachung mit Status-Checks\n- **💾 Auto-Backup System**: Automatische Lottery-Daten Sicherung\n- **🖥️ Modern Admin Dashboard**: Schönes Web-Interface zur Systemkontrolle\n\n### **Sicherheit**\n- ✅ **Keine Credentials im Code** - Alles über Environment Variables\n- ✅ **Sichere Systemd-Konfiguration** - Secrets in geschützter `.env` Datei\n- ✅ **Rate Limiting** aktiviert\n- ✅ **Global Exception Handling** mit Discord-Benachrichtigungen\n- ✅ **Automatic Backups** alle 30 Minuten\n- ✅ **Production-ready Logging** mit strukturiertem Format\n\n## **🆘 HILFE GESUCHT?**\n\n**Du kommst nicht weiter?** Kein Problem!\n\n1. **📖 Lies** `SERVER_SETUP.md` für Server-Installation\n2. **🔍 Schaue** ins Admin-Panel: `http://localhost:5173/admin.html`\n3. **💬 Erstelle** ein Issue auf GitHub mit deinem Problem\n4. **📝 Beschreibe** genau was nicht funktioniert\n\n**🎯 WICHTIG**: Teile NIEMALS deine Tokens/Secrets öffentlich!\n\n## **🤝 Contributing**\n\n1. Fork das Repository\n2. Feature Branch erstellen (`git checkout -b feature/AmazingFeature`)\n3. Änderungen committen (`git commit -m 'Add AmazingFeature'`)\n4. Branch pushen (`git push origin feature/AmazingFeature`)\n5. Pull Request öffnen\n\n## **📄 Lizenz**\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n---\n\n**🎮 Viel Spaß mit deinem Twitch Summon System!** \n\nMade with ❤️ for the Twitch Community by [Fasterralf](https://github.com/Fasterralf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffasterralf%2Ftwitchsummonsystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffasterralf%2Ftwitchsummonsystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffasterralf%2Ftwitchsummonsystem/lists"}