Server-Monitor v3, Composer v2, Temp-Voice-Panel und Embed-Polish
- Server-Monitor v3: gamedig-Integration (300+ Spiele), GSM-Stil-Embeds (Spieler-Balken mit %, Map, Spieler-Liste, klickbarer Connect-Link, Ping im Footer), Down/Up-Alerts (2 Fails → 🚨, Recovery → ✅ mit Downtime) in konfigurierbaren Alert-Kanal; Server-Tab mit 19 Spiel-Presets, Host/Port bzw. Query-URL und Connect-URL - Composer v2: visueller Embed-Builder mit Live-Discord-Preview (Autor, Felder, Bilder, Farbe, Footer, Timestamp), speicherbare Vorlagen (/api/templates), /api/compose versteht volle Embeds - Temp-Voice: Control-Panel im erstellten Kanal (Umbenennen, Sperren, Limit, Löschen) — nur der Kanal-Besitzer darf bedienen - Embed-Polish: brandEmbed-Factory (src/embeds.js), Footer überall mit Bot-Avatar-Icon Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -40,11 +40,11 @@ SQLite (better-sqlite3, FTS5), Docker Multi-Stage — deploybar als Portainer-St
|
||||
| 💬 **Triggers** | Auto-Antworten auf Schlüsselwörter (30s-Cooldown), verwaltet im Composer-Tab |
|
||||
| ⏰ **/remind** | Erinnerungen per DM (`/remind dauer:2h text:…`) |
|
||||
| 📣 **Twitch/YouTube** | 🔴-Live- und ▶️-Neues-Video-Announcements (YouTube ohne Key via RSS, Twitch mit App-Credentials) |
|
||||
| 🔊 **Temp-Voice** | „Join to Create": Hub-Kanal betreten → eigener Voice-Kanal, löscht sich wenn leer |
|
||||
| 🔊 **Temp-Voice** | „Join to Create": Hub-Kanal betreten → eigener Voice-Kanal mit Control-Panel (Umbenennen, Sperren, Limit, Löschen — nur für den Besitzer), löscht sich wenn leer |
|
||||
| 📊 **Server-Stats** | Nachrichten/Joins/Leaves pro Tag → Aktivitäts-Chart auf der Level-Seite |
|
||||
| 👋 **Willkommens-Embed** | Begrüßung neuer Member im Brand-Look (braucht Server-Members-Intent) |
|
||||
| 📋 **Mod-Log** | Gelöschte/bearbeitete Nachrichten in einen privaten Log-Kanal |
|
||||
| 🎮 **Server-Monitor** | DiscordGSM-Stil: eigener Setup-Tab, pro Server ein Live-Embed (🟢/🔴, Spieler-Balken, Map, Copy-Paste-Adresse); Typen FiveM + HTTP-Check; Spielerzahl in der Presence |
|
||||
| 🎮 **Server-Monitor** | DiscordGSM-Stil: eigener Setup-Tab, pro Server ein Live-Embed (🟢/🔴, Spieler-Balken mit %, Map, Spieler-Liste, klickbarer Connect-Link, Ping); **300+ Spiele via gamedig** (Minecraft, Rust, CS2, Valheim, ARK …) + FiveM + HTTP-Check; Down/Up-Alerts (🚨 nach 2 Fehlversuchen, ✅ mit Downtime bei Recovery) in eigenen Alert-Kanal; Spielerzahl in der Presence |
|
||||
| 👥 **Team-Rechte** | Team-Mitglieder bekommen gezielten Web-Zugriff (Composer, Bewerbungen, Rollen, Server, …) — Brand, System, API-Keys bleiben Owner-only |
|
||||
| 💡 **Feature-Voting** | `/wunsch` → Voting-Post mit 👍; Top-Wünsche öffentlich auf der Roadmap-Seite |
|
||||
| 🎉 **Giveaways** | `/giveaway` (Admin): Teilnahme-Button, automatische Ziehung nach Ablauf |
|
||||
@@ -82,7 +82,10 @@ SQLite, Env-Variablen sind nur Fallback, kein Redeploy nötig:
|
||||
- **Community:** Playtester-Rolle (+ Liste), Starboard-Kanal + ⭐-Schwellwert,
|
||||
Screenshot-Kanal, Voting-Kanal
|
||||
- **Moderation & Kontakt:** Modmail-, Willkommens-, Mod-Log-Kanal
|
||||
- **Game-Server:** Status-Kanal + Server-Liste (`Name=URL`, FiveM-kompatibel)
|
||||
- **Game-Server:** eigener Tab — Spiel-Auswahl (19 Presets + freie gamedig-ID), Host/Port
|
||||
oder Query-URL, Connect-URL, Status- & Alert-Kanal
|
||||
- **Composer:** visueller **Embed-Builder mit Live-Discord-Preview** (Autor, Felder,
|
||||
Bilder, Farbe, Footer), Nachrichten senden & nachträglich bearbeiten, speicherbare Vorlagen
|
||||
- **Bug-Reports / Roadmap:** Ziel-Repos
|
||||
- **Backups:** an/aus, Upload-Kanal, „Backup jetzt"
|
||||
- **Watchdog:** überwachte URLs
|
||||
@@ -258,6 +261,7 @@ urllib.request.urlopen(req)
|
||||
| `POST/GET /api/v1/*` | API-Key (Bearer) | Externe Skripte — siehe „API v1" oben |
|
||||
| `GET/POST/DELETE /api/apikeys` | Admin | API-Key-Verwaltung |
|
||||
| `GET/POST/PUT/DELETE /api/rolemenus`, `POST /api/rolemenus/:id/publish` | Admin | Rollen-Menüs |
|
||||
| `POST /api/compose` · `GET/PUT/DELETE /api/templates` | Team (content) | Embed-Composer senden/bearbeiten · Vorlagen |
|
||||
| `GET/PUT /api/settings`, `POST /api/settings/test/:target` | Admin | Setup-Seite |
|
||||
| `GET /api/commits?page=` · `DELETE /api/devlogs/:id` | Admin | Commit-Archiv · Devlog löschen |
|
||||
| `GET /auth/login` · `/auth/callback` · `/auth/logout` | — | Discord-OAuth2 |
|
||||
@@ -278,6 +282,7 @@ d4rkbot/
|
||||
│ ├── runtime-settings.js # Effektive Settings (DB vor Env)
|
||||
│ ├── gitea-api.js # Gitea-REST (Issues + Assets für /bug)
|
||||
│ ├── backup.js # Nächtliche DB-Backups (gzip, Rotation, Upload)
|
||||
│ ├── embeds.js # brandEmbed-Factory (Farbe, Footer, Bot-Icon)
|
||||
│ ├── bot/
|
||||
│ │ ├── client.js # Discord-Client, Commands, Listener, Button-Handler
|
||||
│ │ ├── commit-feed.js # Push → Embed
|
||||
@@ -285,7 +290,7 @@ d4rkbot/
|
||||
│ │ ├── devlog-archive.js # Nachricht → SQLite (+ Bild-Download)
|
||||
│ │ ├── community.js # Starboard + Screenshot-Galerie
|
||||
│ │ ├── mod-tools.js # Modmail, Willkommens-Embed, Mod-Log
|
||||
│ │ ├── server-monitor.js # Game-Server-Status (FiveM-kompatibel)
|
||||
│ │ ├── server-monitor.js # Game-Server-Status (gamedig 300+ Spiele, Alerts)
|
||||
│ │ ├── giveaways.js # Giveaway-Ziehung (Scheduler)
|
||||
│ │ ├── weekly-recap.js # Sonntags-Zusammenfassung + Scheduler
|
||||
│ │ ├── watchdog.js # URL-Checks + DM-Alarm
|
||||
@@ -300,6 +305,7 @@ d4rkbot/
|
||||
│ └── src/
|
||||
│ ├── App.jsx # Layout, Router, Nav, Login-Status
|
||||
│ ├── markdown.jsx # Mini-Markdown (fett/kursiv/Code/Links/Listen/---/##)
|
||||
│ ├── components/ # EmbedComposer (Builder + Discord-Preview)
|
||||
│ └── pages/ # Devlogs, Roadmap, Galerie, Changelog, Commits, Settings
|
||||
├── tools/test-webhook.mjs # Lokaler Commit-Feed-Test
|
||||
├── .env.example # Vorlage für alle Env-Variablen
|
||||
|
||||
Reference in New Issue
Block a user