From a3c47656c523d3752fa840753693a4b74671d537 Mon Sep 17 00:00:00 2001 From: D4rkst3r Date: Thu, 23 Jul 2026 12:34:34 +0200 Subject: [PATCH] Community-Paket: Playtester-Programm, Starboard, Screenshot-Galerie MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Playtester: /playtester-setup postet Bewerbungs-Embed mit 🧪-Button; Toggle vergibt Rolle + DB-Eintrag; Liste + Rollen-Auswahl auf der Setup-Seite - Starboard: ab konfigurierbarem ⭐-Schwellwert Repost als Embed in den Best-of-Kanal (Dedupe, kein Selbst-Boarding); neue Intents/Partials für Reaktionen - Galerie: Bilder aus dem Screenshot-Kanal lokal archiviert (live + /galerie-backfill, Delete-Sync, Bot reagiert mit ⭐) → öffentliche /galerie-Seite mit Hover-Grid - Setup-Seite: Sektion // Community (Rolle, Starboard-Kanal + Schwellwert, Screenshot-Kanal) Co-Authored-By: Claude Opus 4.8 --- README.md | 5 + frontend/src/App.jsx | 3 + frontend/src/pages/Galerie.jsx | 67 +++++++++++++ frontend/src/pages/Settings.jsx | 62 ++++++++++++ frontend/src/style.css | 31 ++++++ src/bot/client.js | 45 ++++++++- src/bot/commands/galerie-backfill.js | 41 ++++++++ src/bot/commands/playtester-setup.js | 44 +++++++++ src/bot/community.js | 135 +++++++++++++++++++++++++++ src/db.js | 64 +++++++++++++ src/runtime-settings.js | 21 +++++ src/web/api.js | 48 ++++++++-- src/web/server.js | 9 ++ 13 files changed, 563 insertions(+), 12 deletions(-) create mode 100644 frontend/src/pages/Galerie.jsx create mode 100644 src/bot/commands/galerie-backfill.js create mode 100644 src/bot/commands/playtester-setup.js create mode 100644 src/bot/community.js diff --git a/README.md b/README.md index bdc8610..1160813 100644 --- a/README.md +++ b/README.md @@ -22,12 +22,17 @@ SQLite (better-sqlite3, FTS5), Docker Multi-Stage — deploybar als Portainer-St | 📊 **Wochen-Rückblick** | Sonntags 20:00 automatisch: Commits pro Tag als Balken, Devlogs, Top-Projekte | | 🐛 **`/bug`** | Member melden Bugs → Gitea-Issue (inkl. Screenshot-Upload); Issue geschlossen → DM an den Reporter | | 🚨 **Watchdog** | Prüft eigene Dienste alle 2 min, DM-Alarm bei Ausfall + Entwarnung | +| 🧪 **Playtester-Programm** | `/playtester-setup` postet den Bewerbungs-Button; Rolle + Liste (Setup-Seite); Alpha-Keys später per DM über die API | +| ⭐ **Starboard** | Nachrichten mit genug ⭐-Reaktionen landen automatisch im Best-of-Kanal | +| 📸 **Screenshot-Galerie** | Bilder aus dem Screenshot-Kanal → öffentliche `/galerie` (lokal gespeichert); Historie via `/galerie-backfill` | | 🏓 `/ping`, 🗄 `/devlog-backfill` | Lebenszeichen · Kanal-Historie nacharchivieren (Admin) | ### Webinterface (`bot.d4rkst3r.de`) | Seite | Zugriff | Inhalt | |---|---|---| | `/devlogs` | öffentlich | Devlog-Archiv: Timeline, Bildergalerien, Projekt-Chips, **Volltextsuche** | +| `/roadmap` | öffentlich | Meilensteine aus Gitea mit Fortschrittsbalken | +| `/galerie` | öffentlich | Community-Screenshots aus dem Discord | | `/changelog` | öffentlich | Alle Releases mit Notes, Tag- und Pre-Release-Chips | | `/feed.xml` | öffentlich | RSS-Feed der Devlogs | | `/commits` | nur Admin | Archivierte Commits aller Repos (SHA → Gitea-Link) | diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 1d2a1e8..29b40bc 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -4,6 +4,7 @@ import { apiGet } from './api.js'; import Devlogs from './pages/Devlogs.jsx'; import Changelog from './pages/Changelog.jsx'; import Roadmap from './pages/Roadmap.jsx'; +import Galerie from './pages/Galerie.jsx'; import Commits from './pages/Commits.jsx'; import Settings from './pages/Settings.jsx'; @@ -72,6 +73,7 @@ export default function App() {