2025-10-15 21:59:35 +00:00
2025-10-15 22:04:33 +00:00
2025-10-15 22:08:07 +00:00

🦉 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.

Description
No description provided
Readme 32 KiB