# 3 — Raid- und Netzwerk-Tool (`apps/raid-scout`) **Wirkrichtung:** Reichweite über Menschen statt über Algorithmen. In dieser Kanalgröße die zuverlässigste Quelle für neue Stammzuschauer. ## Kandidaten finden `GET /helix/streams?game_id=&first=100&language=de`, seitenweise bis die Viewerzahl unter die Untergrenze fällt (Twitch sortiert absteigend, also von hinten interessant). Filter: - Viewer zwischen `min` und `max` (Default 5–30, konfigurierbar) - Sprache `de` - Uptime mindestens 30 min und höchstens 5 h — wer gerade erst angefangen hat, verliert durch einen Raid nichts, wer gleich aufhört, kann nichts damit anfangen - nicht auf der Sperrliste (`config/raid-blocklist.yaml`) ## Bewertung ``` score = 0.35 * viewerNaehe (Ziel: aehnliche Groesse wie wir) + 0.25 * kategorieUeberlapp (gleiche Kategorie > gleiche Sparte) + 0.20 * beziehung (schon mal Kontakt gehabt? zurueckgeraidet?) + 0.10 * frische (lange nicht mehr geraidet) + 0.10 * uptimeFenster ``` `beziehung` kommt aus der `raids`-Tabelle: Wer uns geraidet hat und noch keinen Raid zurückbekommen hat, steht ganz oben. **Das ist der eigentliche Kern des Tools** — nicht das Finden von Fremden, sondern das Nicht-Vergessen von Leuten, die schon Kontakt aufgenommen haben. ## Oberfläche - **Chat-Command `!raidziel`** (nur Mods/Broadcaster): Bot postet die Top 3 mit Login, Viewerzahl und Kategorie in den Chat. - **Overlay-Panel**, das Abdu am Streamende einblenden kann: Top 5 als Karten, Klick kopiert `/raid ` in die Zwischenablage. Bewusst **kein automatisches Auslösen** — ein Raid ist eine soziale Geste, die einen Menschen braucht. - **Dashboard-Seite** mit der vollständigen Raid-Historie. ## Netzwerk-Gedächtnis Für jeden Kanal, mit dem es je Kontakt gab: | Feld | Quelle | |---|---| | Raids rein / raus, mit Datum und Viewerzahl | `channel.raid` EventSub | | erwidert ja/nein | berechnet | | Notizen | manuell im Dashboard | | letzter Kontakt | berechnet | Wöchentliche Erinnerung im Dashboard: "Diese 3 haben dich geraidet, du sie noch nicht." ## Abnahmekriterien - `!raidziel` liefert im laufenden Stream innerhalb von 3 s drei plausible Kanäle in der aktuellen Kategorie. - Ein eingehender Raid landet automatisch in `raids` mit `direction='in'`. - Ein ausgehender Raid (manuell in Twitch ausgelöst) wird ebenfalls erfasst. - Kanäle auf der Sperrliste tauchen nie auf.