Gesucht wurde nach denselben Fehlermustern, die beim Bau von d4rk_media
aufgefallen sind. 24105 Zeilen liest niemand am Stueck; gesucht wurde gezielt
nach nie aufgerufenen Aufraeumfunktionen, Wachen an '*', SQL mit eingesetzten
Zeichenketten, fetch auf fremde Adressen, ungelesenen Antwortkoerpern,
Schleifen mit Zeitlimit und Sicherungen ohne Gegenprobe.
AN DIESEM BOT WURDE NICHTS GEAENDERT. Die Entscheidungen gehoeren dem
Betreiber.
DER WICHTIGSTE BEFUND: Datenbank (5,0 MB) und alle vierzehn Sicherungen
(5,7 MB) liegen im SELBEN Volume ecobot_ecobot_data. Geht es verloren, geht
beides zusammen verloren -- das ist keine Sicherung, das ist eine Kopie. Der
eingebaute Ausweg (Upload in einen privaten Discord-Kanal) laeuft nie, weil
backup_channel_id nicht gesetzt ist.
DAZU: niemand prueft last_backup. Es wird geschrieben und im Panel ANGEZEIGT,
aber nichts vergleicht es mit heute. Und weil der Zeitplan auf getHours() === 3
steht, faellt der Tag still aus, wenn der Bot waehrend dieser Stunde unten ist
-- bei einem Bot, der nach jedem Update neu startet, kein Sonderfall. Die
Maschinerie dafuer ist vollstaendig da (dmAdmin, brandEmbed, Incidents) und
wird nicht benutzt.
WEITER: "zu gross fuer Discord" endet in einem console.warn, das niemand liest;
die Archive wachsen um rund 70 KB je Tag auf eine Grenze von 9 MB zu. Das
Archiv wird nie ausgepackt und gegengeprueft. Und pruneMessageCache wird
nirgends aufgerufen -- exakt dasselbe Muster wie pruneEvents in d4rk_media,
heute mit 18 Zeilen harmlos.
WAS GEPRUEFT WURDE UND IN ORDNUNG IST, damit es niemand ein zweites Mal prueft:
db.backup() statt Dateikopie ist richtig und WAL-sicher; das gefaehrlich
aussehende ORDER BY ${ord} ist eine feste Weissliste; die oeffentliche
Serverliste zaehlt ihre Felder einzeln auf; die zwei bekannten Geheimnisse
gehen nur als Ja/Nein hinaus; der Spielserver-Monitor nutzt bereits
Promise.all.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Dokumentation
Alles, was zu lang für die README ist.
Anleitungen
| Datei | Inhalt |
|---|---|
| sso.md | Single Sign-On: Ablauf, Endpoints, eigene Dienste anbinden |
| auto-deploy.md | Push auf main → Portainer rollt neu aus |
| brand/README.md | Logo-Master, abgeleitete Symbole, Build-Skript |
| gitea-theme/README.md | D4RKST3R-Theme für Gitea |
Konzepte
| Datei | Inhalt |
|---|---|
| konzept-zwei-seiten.md | Warum Produktseite und Community-Hub getrennt sind, und wie |
| idee-mermaid.md | Diagramme im eigenen Markdown rendern — Umfang, Kosten, offene Frage |
| ls-feed.md | Was ein LS-Server hergibt und was nicht — Endpunkte, Koordinaten, Fallstricke |
Textentwürfe
Rohfassungen für Seiten und Discord-Posts. Sie beschreiben einen Stand zum Zeitpunkt des Schreibens und werden bewusst nicht nachgepflegt — wer wissen will, was der Bot heute kann, schaut in die README.
| Datei | Inhalt |
|---|---|
| nutzungsbedingungen.md | Entwurf für die Nutzungsbedingungen-Seite (keine Rechtsberatung) |
| ankuendigung-community-bot.md | „Aus dem Devlog-Bot wird ein Community-Bot" |
| devlog-d4rkbot.md | Devlog aus Sicht des Bots über sein eigenes Upgrade |
| devlog-hub.md | Ankündigung des Umzugs auf hub.d4rkst3r.de |