Bot-Labor
Unser Friendly-Helper Discord-Bot bringt World-of-Warships-Daten direkt in den Discord. Schiffsdaten, Spielerstatistiken, Clan-Rankings, Karten, Kommandanten, Errungenschaften und Vergleichswerte können direkt per Slash-Command abgerufen werden. Das Ziel ist klar: weniger Browserwechsel, weniger Copy-Paste, mehr Infos genau da, wo die Community gerade redet. Dazu kommen automatische Meldungen, Welcome-Nachrichten, Server-Verwaltung, Demomodus und das Quiz Center für gemeinsame Runden.
Viele World-of-Warships-Daten gibt es bereits im Web, zum Beispiel im Wiki oder auf Statistikseiten.
Der Unterschied ist:
Dort muss man den Browser öffnen, suchen, kopieren, zurück in Discord wechseln und Werte erklären.
Friendly-Helper bringt diese Informationen direkt in den Discord-Chat.
Das bedeutet:
keine extra Browser-Tabs, kein Copy-Paste, keine langen Suchwege, direkte Diskussion im Channel, schnelle Vergleiche, sofort sichtbare Clan- und Spielerwerte
Gerade für Clan-Server, Streamer-Communitys und aktive WoWS-Gruppen ist das ein klarer Vorteil.
Bot, Webseite und Control Panel arbeiten eng zusammen: kurze Discord-Ausgaben bleiben schnell lesbar, während Detailseiten, Vergleiche, Profile und Leaderboards die ausführlichen Daten anzeigen. Die Einstellungen für euren Server sind direkt in Discord und im Web-Control-Panel erreichbar.
Projektziel
Friendly-Helper bringt World of Warships direkt in den Discord und verbindet den Chat mit den ausführlichen Auswertungen auf unserer Webseite.
Der Bot kann:
- Schiffsdaten direkt im Chat anzeigen
- Spielerprofile, Statistiken, Ranked-Fortschritt und Experten-Abzeichen abrufen
- Spieler, Schiffe und Clans vergleichen
- Clan-Leaderboards, Rekorde und persönliche Clanränge anzeigen
- Karten, Kommandanten und Errungenschaften anzeigen
- aus Discord direkt auf passende Webauswertungen verlinken
- Server- und Clan-Statistiken als gesperrte Anzeige-Channels pflegen
- neue Mitglieder mit konfigurierbaren Welcome-Nachrichten begrüßen
- aktivierte Notifications automatisch in die vorgesehenen Kanäle senden
- im Demomodus ausgewählte Bot-Funktionen regelmäßig im Channel vorstellen
- Einstellungen über Discord-Center und das Web-Control-Panel verwalten
- Daten regelmäßig aktualisieren und stabil im Dauerbetrieb laufen
Das Quiz Center ergänzt Allgemeinwissen und Clan-Quiz mit Testrunden, freiem Quiz und geplanten Ranked-Runden. Das eigene WoWS-Quiz-Modul ist noch nicht freigeschaltet.
Technische Basis
Der Bot läuft mit Python 3.13 und nutzt unter anderem:
discord.pyfür Discord-Integration, Slash-Commands und interaktive Admin-Centeraiohttpfür asynchrone API-Abfragen- vorbereitete Schiffsdaten sowie lokale JSON-Dateien für Karten, Kommandanten und Errungenschaften
- PostgreSQL 16 als zentrale Datenbank für Spieler, Clans, Rankings und Bot-Einstellungen
- FastAPI für die Webseite und das getrennte Web-Control-Panel
- gemeinsame Einstellungen für Discord-Befehle, Admin-Center und Control Panel
- Builder-Skripte für die ergänzenden JSON-Daten
- systemd und Watchdog für den Dauerbetrieb
- nginx, getrennte Logs und regelmäßige Zustandsprüfungen
- Autocomplete und fehlertolerante Suche für passende Befehle
Seit September 2026 läuft Friendly-Helpers auf einem netcup RS 2000 G12 mit Debian 13, acht verfügbaren Prozessorkernen und rund 16 GB RAM. Bot, Webseite, Control Panel, Datenbank und Hintergrundjobs laufen dort als getrennte Dienste und Aufgaben.
Kurze Discord-Ausgaben führen zur vollständigen Auswertung auf der Webseite. Bot und Control Panel verwenden dieselben gespeicherten Einstellungen.
Datenbasis
Schiffsdaten stehen für die Bot-Befehle und die Schiffseiten direkt bereit.
Spieler-, Clan- und Saisonwerte werden je nach Bereich aus der Wargaming-API, unserer PostgreSQL-Datenbank oder einem zeitlich begrenzten Cache gelesen. So bleiben die Ausgaben schnell und wiederholte Abfragen werden gebündelt.
Unsere Schiffsdaten umfassen unter anderem:
- Name, Nation, Klasse und Tier
- Trefferpunkte, Geschwindigkeit, Wendekreis und Ruderstellzeit
- Hauptgeschütze, Nachladezeit, Reichweite, Streuung und Sigma
- Torpedos, Sekundärbewaffnung und Flugabwehr
- Sichtbarkeit, Verbrauchsmaterialien und Modernisierungen
- Flugzeuge, taktische Staffeln und Luftschläge
- Premium- und Spezialstatus, Module, Bilder und Icons
Diese Werte stehen unter anderem für /info, /vergleich und die ausführlichen Schiffseiten zur Verfügung.
achievements.json
Enthält Errungenschaften mit Namen, Beschreibungen, Typen, Bildern und Anforderungen.
Kommandanten, Fertigkeiten und Ränge
Die Kommandantenseiten nutzen den neuen aufbereiteten Datenbestand mit Portraits, Talenten, verbesserten Fertigkeiten und Ranginformationen. Die Bot-Ausgabe ergänzt kurze Informationen und den Link zur passenden Detailseite.
maps.json
Enthält Karteninformationen für die Map-Befehle.
PostgreSQL speichert zusätzlich Spieler- und Clanprofile, Schiffswerte pro Spieler, Rankings, Clan-Wars-Daten, Snapshots und Aktualisierungszeitpunkte. Auch Server-Einstellungen, Notifications, Welcome, Demomodus und Quiz-Zustände werden dort zentral gehalten.
Automatischer JSON-Bau
Die ergänzenden Daten werden je nach Bereich durch eigene Builder aufbereitet und als geprüfte Datenbestände bereitgestellt.
Kommandanten-Aufbereitung
Der neue Builder liefert Kommandanten, Fertigkeiten, Ränge und zugehörige Bilder für die Kommandantenseiten. Talente und verbesserte Fertigkeiten werden dort mit ihren Bedingungen und Effekten dargestellt.
build_maps_from_api.py
Erzeugt die lokale Kartendatenbank für /karte und /karten.
build_achievements_from_api.py
Lädt die verfügbaren Errungenschaften aus der Wargaming-API und bereitet die achievements.json für die Discord-Ausgabe auf.
Der Watchdog prüft die lokalen Bot-JSONs für Karten, Errungenschaften und die bisherige Kommandanten-Ausgabe auf fehlende oder veraltete Bestände. Ihre wöchentliche Aktualisierung beginnt donnerstags ab 10:00 Uhr. Die neue Kommandanten-Aufbereitung für die Webseite wird unabhängig davon freigegeben.
Spieler- und Clanwerte pflegt der Crawler fortlaufend in PostgreSQL. Rankings, Schiffs-Meta und Snapshots werden durch eigene zeitgesteuerte Aufgaben aktualisiert. Damit bleiben schnelle Bot-Antworten und aufwendigere Hintergrundauswertungen voneinander getrennt.
Watchdog und Dauerbetrieb
systemd hält die Dienste auf dem Root-Server im Betrieb. Der Bot wird zusätzlich durch einen externen Watchdog gestartet und überwacht.
Der Watchdog prüft alle 5 Minuten:
- ob der Bot-Prozess läuft und eine Internetverbindung besteht
- ob die JSON-Dateien für Karten, Kommandanten und Errungenschaften fehlen oder veraltet sind
- ob die zugehörigen Builder erneut ausgeführt werden müssen
- ob die bereitstehenden Schiffsdaten gültig und lesbar sind
- ob nach einem Datenbau oder bei einem Prozessausfall ein Bot-Neustart nötig ist
Fehlende oder veraltete JSON-Bestände werden über die zugehörigen Builder erneuert. Nach relevanten Neubauten startet der Watchdog den Bot neu, damit er die aktualisierten Inhalte lädt.
Auf dem neuen Root-Server laufen Bot, Webseite, Control Panel, Crawler und Monitoring kontrolliert nebeneinander. Zeitlich versetzte Hintergrundjobs und eigene Ressourcenlimits helfen, die Last zu verteilen.
Der tägliche Ampelcheck und zusätzliche regelmäßige Prüfungen überwachen Dienste, Erreichbarkeit, Datenaktualität und Datenbankwachstum. Getrennte Logs machen Command-Fehler, automatische Meldungen und Neustarts nachvollziehbar.
Autocomplete & Fuzzy Search
Viele Befehle nutzen Autocomplete, damit User Schiffe, Spieler, Clans, Nationen oder Klassen bequem auswählen können.
Zusätzlich gibt es fehlertolerante Vorschläge: /info hilft bei nicht exakt geschriebenen Schiffsnamen; /spielerduell und /clanrang können passende Spielernamen aus den Ergebnissen der Wargaming-Suche vorschlagen.
Viele Slash-Commands liefern einen direkten Link zur passenden Friendly-Helpers-Seite. So bleiben Embeds kompakt, während Spieler- und Clanprofile, Schiffsdetails, Vergleiche und Duelle tiefer gehen können.
Für Admins öffnen /welcome einrichten, /notifications einrichten, /serverstats einrichten, /clanserverstats einrichten und /demomodus einrichten die jeweiligen interaktiven Discord-Center. Dieselben fünf Bereiche lassen sich auch im geschützten Control Panel verwalten.
Auswahlfelder, Buttons und Eingabedialoge erleichtern Einrichtung und Änderungen. Das bloße Öffnen eines Centers aktiviert keine Funktion; Änderungen setzen die passenden Serverberechtigungen voraus.
Friendly-Helper ist ein Discord-Bot für World of Warships, der Schiffsdaten, Spielerstatistiken, Clan-Auswertungen, Karten, Kommandanten und Errungenschaften direkt im Chat verfügbar macht. Gebaut mit Python 3.13, PostgreSQL, Slash-Commands, interaktiven Admin-Centern, Autocomplete und Fuzzy Search. Mit Webseite, Control Panel und Watchdog läuft das Projekt auf dem neuen Root-Server unter Debian 13. Ein Bot für Spieler, Clans und Communitys, die ihre WoWS-Daten direkt dort haben wollen, wo gerade gesprochen wird: im Discord.
Das alles und noch viel mehr direkt auf eurem Discord
Mit dem Friendly-Helper Bot holt ihr Schiffsdaten, Spielerstatistiken, Clan-Auswertungen, Karten, Kommandanten und Vergleiche direkt in euren Server.