🦉 Multichat
Zentraler Multiplattform-Chatserver mit lokaler GUI und Plugin-Schnittstelle
🧩 Übersicht
Multichat ist ein eigenständiges System zur Verwaltung und Anzeige mehrerer Chat-Plattformen in einer Oberfläche.
Es ermöglicht das gleichzeitige Empfangen und Senden von Nachrichten über Twitch, YouTube, Kick und weitere Dienste.
Das Projekt besteht aus einem gemeinsamen Code-Kern, einer universellen GUI und zwei Laufzeitvarianten:
Server-Version (LXC / Linux):
Dauerhaft laufender Dienst mit Web-GUI und API für externe Tools.
Desktop-Version (Windows / macOS / Linux):
Electron-basierte Anwendung mit integrierter GUI, ideal für Streamer ohne Serverumgebung.
⚙️ Aufbau
Die Projektstruktur ist modular aufgebaut, um Server- und Desktop-Variante auf derselben Codebasis zu betreiben.
core/
├─ adapters/ → Plattformadapter (Twitch, YouTube, Kick, Generic)
├─ messageHandler/ → Verarbeitung, Parsing und Routing von Chatnachrichten
├─ storage/ → Temporäre Speicherung (Redis / Lokale JSON-Dateien)
├─ api/ → REST- und WebSocket-Schnittstellen
└─ utils/ → Logging, Error Handling, Helper-Funktionen
gui/
├─ components/ → UI-Elemente (Chatfenster, Tabs, Einstellungsdialoge)
├─ views/ → Reiter / Seiten (Chat, Verbindungen, Einstellungen)
├─ services/ → Verbindung zur Core-API via WebSocket
└─ assets/ → Icons, CSS, Branding
server/
├─ index.js → Einstiegspunkt für Headless-Start
├─ webserver.js → Express-Server für Web-GUI
└─ config.json → Serverkonfiguration (Ports, Tokens, Plattformen)
desktop/
├─ main.js → Electron-Main-Prozess
├─ preload.js → Brücke zwischen GUI und Node.js-Core
└─ package.json → App-Metadaten und Build-Skripte
config/
├─ connections.yml → Plattform-Logins und Tokens
├─ preferences.yml → GUI-Layout, Sprache, Moderationsoptionen
└─ license.json → Lizenz- und Aktivierungsinformationen
🎛️ Funktionen
- Gleichzeitige Verbindung zu mehreren Plattformen
- Einheitliche Darstellung aller Chats
- Live-Moderation (Clear, Timeout, Mods-Only, Ban)
- Reconnect- und Fehlerhandling
- Plugin-Schnittstelle (WebSocket / API) für OBS und TouchPortal
- Lizenzmodell: Light (Anzeige) und Premium (volle Steuerung)
- Erweiterbare Plattformadapter über
core/adapters/
🧠 Zielsetzung
Ziel ist eine stabile, lokal ausführbare Lösung zur Chatverwaltung für Streamer,
die unabhängig von Cloud-Diensten und externer Software arbeiten möchten.
Alle Daten verbleiben ausschließlich auf der eigenen Instanz oder im lokalen System.
Der modulare Aufbau ermöglicht langfristig auch die Einbindung zusätzlicher Dienste oder APIs.
📦 Lizenz / Versionen
| Variante | Beschreibung |
|---|---|
| Light | Nur Anzeige des Chats (lesend) |
| Premium | Voller Funktionsumfang inkl. Verwaltung und Moderation |
| Server | Für LXC / Homelab-Installationen |
| Desktop | Für Windows / macOS / Linux (Electron) |
🔧 Status
Projektphase: Initialentwicklung (Core-Struktur + Basis-Adapter)
Laufzeitumgebung: Node.js 20 LTS
Maintainer: Thomas Dannenberg
🪪 Lizenz
Dieses Projekt steht unter der Bratonien Proprietary License 1.0.
Alle Rechte vorbehalten © 2025 Thomas Dannenberg – Bratonien.
Nutzung, Weitergabe oder Modifikation nur mit ausdrücklicher Genehmigung.