# Multi-Channel-Erweiterung für Boardgame.network — Analyse & Implementierungsplan > **Für:** Daniel Krause (brettspiel-news.de) > **Datum:** 18.06.2026 > **Status:** Analyse & Priorisierung --- ## Ist-Zustand Das aktuelle Intake-System (`app.py` auf Port 5002) unterstützt: | Kanal | Status | Einträge in DB | Technik | |---|---|---|---| | **WhatsApp** | ✅ Live | 15 | Meta Cloud API Webhook `/whatsapp/webhook` | | **Web-Formular** | ✅ Live | 7 | `/api/submit` (Multipart-Formular) | | **Telegram** | ⚠️ 1 Test-Eintrag | 1 | Nicht im Chatbot implementiert — wird extern behandelt | Der existierende Meta System User Token (permanent, expires: 0) hat bereits folgende Scopes: - `instagram_basic` ✅ - `instagram_content_publish` ✅ - `pages_read_engagement` ✅ - `pages_show_list` ✅ - `whatsapp_business_management` ✅ - `whatsapp_business_messaging` ✅ **Das bedeutet:** Instagram und Facebook Messenger könnten über die bestehende Meta-Infrastruktur integriert werden, ohne neue Berechtigungen! --- ## Kanal-Analyse (sortiert nach Geschwindigkeit der Umsetzbarkeit) ### 🔥 Kanal 1: Telegram (Bot API) — *schnellster Gewinn* | Kriterium | Bewertung | |---|---| | **Aufwand** | 3–4 Stunden | | **API-Typ** | Offizielle REST API, sehr gut dokumentiert | | **Integration** | Webhook-Pattern wie WhatsApp: Telegram POSTed Updates → unser Endpoint antwortet | | **Message-Typen** | Text, Foto, Video, Audio, Voice, Standort, Dokumente | | **Kosten** | Kostenlos | | **DSGVO** | ⚠️ Telegram ist in Dubai ansässig, Server global verteilt. Datenschutzerklärung muss Telegram als Auftragsverarbeiter nennen. ABER: Nutzer wählen Telegram selbst → ihre Entscheidung. Keine Gesundheitsdaten o.Ä. → vertretbares Risiko. | **Technische Umsetzung:** - Bot via @BotFather erstellen → API-Token - Neuer Endpoint: `POST /telegram/webhook` in `app.py` - Webhook-URL setzen: `https://api.telegram.org/bot/setWebhook?url=https://chat.datenhimmel.work/telegram/webhook` - Parser-Funktion: Telegram-Update → Submission-DB-Schema mappen - Media-Download via `https://api.telegram.org/file/bot/` - Anti-Spam: Gleiche GDPR-Lösch-Logik wie WhatsApp **Status:** Ein Test-Eintrag existiert bereits in der DB → Telegram wurde schon mal angetestet. Jetzt sauber implementieren. --- ### 🔥 Kanal 2: Instagram Direct Messages — *Meta-API, fast geschenkt* | Kriterium | Bewertung | |---|---| | **Aufwand** | 4–6 Stunden | | **API-Typ** | Meta Graph API (gleiche Infrastruktur wie WhatsApp!) | | **Integration** | Instagram Professional Account an App koppeln → Webhook konfigurieren → Nachrichten landen im gleichen Webhook-Endpoint | | **Message-Typen** | Text, Bilder, Videos, Story-Replies, Link-Attachments | | **Kosten** | Kostenlos (Teil der Meta Graph API) | | **DSGVO** | ⚠️ Meta = US-Konzern. ABER: Gleiche Rechtsgrundlage wie WhatsApp-Integration. Standardvertragsklauseln. Datenschutzerklärung ist bereits Meta-konform (WhatsApp-Teil). Instagram DM ist weniger invasiv als WhatsApp (keine Telefonnummer zwingend erforderlich). | **Technische Umsetzung:** 1. Instagram Professional Account mit der Meta-App "Brettspiel-News.de" verbinden 2. Im Meta Developer Dashboard: Webhook-Produkt `instagram` hinzufügen 3. Webhook-Feld `messages` abonnieren → Test-Send von Instagram 4. Neuer Handler in `app.py` für Instagram-Events (gleicher Webhook-Endpoint, anderer `object`-Typ: `instagram`) 5. Message-Format-Mapper: Instagram-Nachricht → Submission-Schema 6. Media-Download via Instagram Graph API (Media-URLs sind kurzlebig — direkt downloaden!) **PITFALL:** Instagram-Webhooks nutzen das GLEICHE Webhook-Endpoint-Format wie WhatsApp, aber mit `"object": "instagram"` statt `"object": "whatsapp_business_account"`. Kann also im selben `/whatsapp/webhook`-Endpoint behandelt werden — nur eine Fallunterscheidung nötig. --- ### 🔥 Kanal 3: Facebook Messenger — *größte Reichweite unter Brettspielern* | Kriterium | Bewertung | |---|---| | **Aufwand** | 6–8 Stunden | | **API-Typ** | Meta Graph API (Send/Receive API) | | **Integration** | Facebook Page an App koppeln → Webhook konfigurieren → Nachrichten verarbeiten | | **Message-Typen** | Text, Bilder, Videos, Audio, Dateien, Quick Replies, Templates | | **Kosten** | Kostenlos (24h-Standard-Messaging-Fenster, danach nur Message-Tags) | | **DSGVO** | ⚠️ Wie Instagram: Meta-US. ABER: Facebook-Seiten-Admin hat geteilte Verantwortlichkeit mit Meta (Art. 26 DSGVO). Muss in Datenschutzerklärung explizit genannt werden. Page-Admin-Tools geben Einblick in Datenverarbeitung. | **Technische Umsetzung:** 1. Facebook Page "Brettspiel News" mit der Meta-App verbinden (Page Access Token) 2. Meta Developer Dashboard: Webhook-Produkt `messenger` hinzufügen 3. Webhook-Felder `messages` und `messaging_postbacks` abonnieren 4. Page abonnieren (ohne Subscription kommen keine Events!) 5. Handler für `"object": "page"` im Webhook-Endpoint 6. Messenger-Send-API für Antworten (POST `/{page_id}/messages`) 7. Media-Handling: Messenger-Attachments → Download via URL (authorisiert mit Page Token) 8. 24h-Fenster beachten: Nach 24h nur noch per Message-Tag antworten **PITFALL:** Messenger hat ein 24-Stunden-Fenster für freie Antworten. Danach nur noch per Message-Tag (z.B. `HUMAN_AGENT`, `POST_PURCHASE_UPDATE`). Unsere Auto-Replies müssen innerhalb von 24h erfolgen — was bei Echtzeit-Antworten gegeben ist. --- ### ⚠️ Kanal 4: Signal (via signal-cli) — *datenschutzfreundlich, aber aufwendig* | Kriterium | Bewertung | |---|---| | **Aufwand** | 12–16 Stunden + laufender Wartungsaufwand | | **API-Typ** | Keine offizielle API. signal-cli (Open Source, Java) als REST-Wrapper | | **Integration** | Signal-Telefonnummer registrieren → signal-cli als Daemon → REST-Endpoint exposed → Polling oder Webhook-ähnlich | | **Message-Typen** | Text, Bilder, Videos, Dateien, Gruppen (eingeschränkt) | | **Kosten** | Kostenlos (Signal selbst), aber: dedizierte Telefonnummer nötig (~5–10€/Monat) | | **DSGVO** | 🟢 Bester Datenschutz aller Optionen: Signal ist E2E-verschlüsselt, non-profit, kein US-Datenzugriff. ABER: signal-cli ist ein inoffizieller Client — rechtliche Grauzone. Theoretisch DSGVO-freundlich, praktisch nicht auditierbar. | **Technische Umsetzung:** 1. Dedizierte SIM-Karte / VoIP-Nummer für Signal registrieren 2. signal-cli installieren + als systemd-Daemon einrichten 3. REST-Mode aktivieren: `signal-cli daemon --http-listen 127.0.0.1:8080` 4. Polling-Loop oder lokalen Webhook via nginx auf die REST-API von signal-cli 5. Parser: Signal-Nachrichten-Format → Submission-Schema 6. Media: signal-cli lädt Attachments automatisch → lokaler Pfad referenzieren 7. Gruppen-Kommunikation: Signal-Gruppen sind verschlüsselt — nicht moderierbar vor Empfang **PITFALLS:** - signal-cli bricht bei größeren Updates von Signal regelmäßig → Wartungsaufwand - Telefonnummer kann von Signal gebannt werden, wenn als Bot erkannt - Kein offizieller Support — bei Problemen auf sich allein gestellt - Gruppen-Nachrichten: Bot muss Gruppenmitglied sein (Einladung nötig) **Fazit:** Nur umsetzen, wenn Datenschutz-Enthusiasten explizit Signal fordern. Strategisch wertvoll als DSGVO-Vorzeigekanal, aber operativ teuer. --- ### 🎮 Bonus-Kanal 5: Discord — *Gaming-Community, einfach integrierbar* | Kriterium | Bewertung | |---|---| | **Aufwand** | 3–5 Stunden | | **API-Typ** | Offizielle REST + Gateway (WebSocket) API | | **Integration** | Discord Bot App → Webhook oder Gateway-Events → Handler | | **Kosten** | Kostenlos | | **DSGVO** | ⚠️ Discord = US-Unternehmen. Standardvertragsklauseln nötig. Aber: Gaming-Community ist Discord-affin — viele Brettspiel-Discords existieren bereits. | --- ## DSGVO-Zusammenfassung | Kanal | US-Datenübermittlung | Einwilligung nötig? | Auftragsverarbeiter | |---|---|---|---| | WhatsApp | ✅ (Meta US) | Ja (Double Opt-In empfohlen) | Meta Platforms Inc. | | Instagram | ✅ (Meta US) | Ja | Meta Platforms Inc. | | Messenger | ✅ (Meta US) | Ja | Meta Platforms Inc. (geteilte Verantwortung) | | Telegram | ⚠️ (Dubai, nicht US/EU) | Empfohlen | Telegram FZ-LLC | | Signal | ❌ (E2E, non-profit) | Nein (Datenschutz per Design) | Keiner (direkte Kommunikation) | | Discord | ✅ (US) | Empfohlen | Discord Inc. | **Generelle DSGVO-Maßnahmen (für alle Kanäle):** 1. Datenschutzerklärung um jeden Kanal erweitern 2. Double Opt-In: `VERIFICATION_REQUIRED=1` in `.env` aktivieren 3. Löschlogik: `DELETE /submission/` bereits implementiert — GDPR-Request manuell auslösbar 4. Datenminimierung: Wir speichern nur `sender_id`, `sender_name`, `content`, `media_path` — keine Metadaten (IP, Standort, Gerätedaten) 5. Server-Standort: Deutschland (netcup) — DSGVO-konformes Hosting **Wichtig:** Für Meta-Kanäle (WhatsApp, Instagram, Messenger) sollte die Datenschutzerklärung einen expliziten Hinweis enthalten, dass Nachrichten über Meta-Server in die USA geleitet werden und der Nutzer dem durch Nutzung des jeweiligen Kanals zustimmt. --- ## Rangliste: Was zuerst? ``` ┌───────┬─────────────────┬──────────┬──────────┬──────────┬──────────┐ │ Rang │ Kanal │ Aufwand │ Nutzen │ DSGVO │ Prio │ ├───────┼─────────────────┼──────────┼──────────┼──────────┼──────────┤ │ 1. │ Telegram │ 3–4 h │ Hoch │ Mittel │ 🔥🔥🔥 │ │ 2. │ Instagram │ 4–6 h │ Mittel │ Mittel │ 🔥🔥 │ │ 3. │ Facebook Msgr │ 6–8 h │ Sehr hoch│ Mittel │ 🔥🔥 │ │ 4. │ Discord │ 3–5 h │ Mittel │ Mittel │ 🔥 │ │ 5. │ Signal │ 12–16 h │ Niedrig │ Grün │ ⚡ │ └───────┴─────────────────┴──────────┴──────────┴──────────┴──────────┘ ``` **Empfehlung:** Starte mit **Telegram + Instagram** parallel (beide zusammen ~8h), dann **Facebook Messenger** (~8h). Discord und Signal sind Optional. --- ## Implementierungs-Roadmap ### Phase 1: Telegram (1 Tag) - [ ] Bot mit @BotFather erstellen, Token in `.env` - [ ] Endpoint `POST /telegram/webhook` in `app.py` - [ ] Parser: Telegram-Update → `submissions`-Schema - [ ] Media-Download via Telegram File API - [ ] Webhook-URL registrieren, Test-Nachricht senden - [ ] Deployment + Tunnel-Verifikation ### Phase 2: Instagram (1 Tag) - [ ] Instagram Professional Account mit Meta-App verbinden - [ ] Webhook `instagram` im Meta Developer Dashboard konfigurieren - [ ] Handler im WhatsApp-Webhook: `object == "instagram"` Fall - [ ] Message-Mapper + Media-Download - [ ] Test: Instagram DM an verknüpften Account senden - [ ] Deployment + Verifikation ### Phase 3: Facebook Messenger (1–2 Tage) - [ ] Facebook Page mit App verbinden, Page Access Token holen - [ ] Webhook `messenger` konfigurieren + Page abonnieren - [ ] Handler im Webhook für `object == "page"` - [ ] Messenger Send API für Antworten - [ ] Media-Handling (Attachments über Messenger Platform API) - [ ] 24h-Fenster-Logik für Antworten - [ ] Test + Deployment ### Phase 4 (Optional): Discord + Signal - [ ] Discord: Bot App erstellen, Gateway verbinden, Commands - [ ] Signal: signal-cli installieren, Daemon, REST-Integration --- ## Nächster Schritt Soll ich direkt mit **Phase 1 (Telegram)** loslegen? Der Bot kann in ~3 Stunden live sein, und wir haben schon einen Test-Eintrag in der DB. Wenn du grünes Licht gibst, schreibe ich den Code, deploye und verifiziere. 🚀