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. Der Bot verbindet die Wargaming-API, lokal vorbereitete JSON-Daten und eigene Auswertungslogik zu einem Discord-Werkzeug für Clans, Spieler und Community-Server.

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.

Inzwischen hängt der Bot zusätzlich enger mit der Friendly-Helpers-Webseite zusammen: kurze Discord-Ausgaben bleiben schnell lesbar, während Detailseiten, Vergleiche, Profile und Leaderboards die ausführlichen Daten anzeigen.

Projektziel

Entwicklung eines Discord-Bots für World of Warships mit direkter Discord-Ausgabe.

Der Bot soll:

  • Schiffsdaten direkt im Chat anzeigen
  • Spielerstatistiken abrufen und verständlich ausgeben
  • Spieler, Schiffe und Clans vergleichen
  • Clan-Leaderboards und persönliche Clanränge erzeugen
  • Karten, Kommandanten und Errungenschaften anzeigen
  • aus Discord direkt auf passende Webauswertungen verlinken
  • Server- und Clan-Statistiken als gesperrte Anzeige-Channels pflegen
  • Daten automatisch aktuell halten
  • stabil im Dauerbetrieb laufen
  • für größere Community-Server nutzbar bleiben

Im Prinzip kombiniert der Bot wichtige Funktionen aus WoWS-Wiki, Wargaming-API, eigener Friendly-Helpers-Datenbank und Statistikseiten wie WoWS-Numbers, aber direkt im Discord.

Technische Basis

Der Bot ist in Python geschrieben und nutzt unter anderem:

  • discord.py für Discord-Integration und Slash-Commands
  • aiohttp für asynchrone API-Abfragen
  • lokale JSON-Dateien als schnelle Datenbasis
  • eine eigene SQL-Datenbank für bekannte Spieler, Clans, Rankings und gecrawlte Statistikdaten
  • die Friendly-Helpers-Webseite als ausführliche Ausgabe für Profile, Vergleiche und Datenbankseiten
  • eigene Builder-Skripte für automatische Datenerstellung
  • Watchdog-Überwachung für Dauerbetrieb und Neustarts
  • VPS-Betrieb mit Logs, Monitoring und kontrollierten Neustarts
  • Autocomplete für Schiffe, Spieler, Clans, Nationen und Klassen
  • Fuzzy Search für Tippfehler bei Schiffsnamen und Spielernamen

Die Webseite und der Bot greifen auf dieselben vorbereiteten Daten zurück. Dadurch kann ein Slash-Command im Discord kurz bleiben und trotzdem zur vollständigen Friendly-Helpers-Auswertung führen.

Datenbasis

Der Bot arbeitet mit einer Mischung aus lokal vorbereiteten Daten und Live-Abfragen.

Stammdaten werden lokal gelesen, Spieler-, Clan- und Saisonwerte kommen je nach Bereich aus der Wargaming-API, aus der eigenen Datenbank oder aus kurzen Cache-Schichten. So bleibt die Ausgabe schnell, ohne die API unnötig zu belasten.

ships.json
Enthält Schiffsdaten aus der Wargaming-Enzyklopädie, darunter:

  • Name
  • Nation
  • Klasse
  • Tier
  • Trefferpunkte
  • Geschwindigkeit
  • Wendekreis
  • Ruderstellzeit
  • Hauptgeschütze, Nachladezeit, Reichweite, Streuung
  • Torpedowerte
  • Sekundärbewaffnung
  • Sichtbarkeit
  • Premium- und Spezialstatus
  • Preise
  • Module, Bilder und Icons

Erweiterte Schiffsdaten ergänzen zusätzliche technische Werte, zum Beispiel Sigma, Verbrauchsmaterialien, Flugzeuge, taktische Staffeln, Luftschläge und Detailwerte für /info, /vergleich und die Schiffseiten.

achievements.json
Enthält Errungenschaften aus World of Warships mit:

  • Name
  • Beschreibung
  • Typ
  • Untertyp
  • Bild
  • ID
  • Sichtbarkeit
  • Anforderungen

crews.json
Enthält Kommandanten-Daten:

  • Namen
  • Nation
  • Trainingskosten
  • Umschulungskosten
  • Portrait-Icons und Icon-Varianten
  • weitere API-Werte

crewskills.json
Enthält Kommandantenfertigkeiten aus der Wargaming-API mit Name, Icon, Klasse, Tier, Spalte und Effekttexten.

maps.json
Enthält Karteninformationen für die Map-Befehle.

Die eigene Datenbank speichert zusätzlich bekannte Spieler, Clans, Schiffswerte pro Spieler, Rankings, Clan-Wars-Daten und Aktualisierungszeitpunkte. Diese Daten werden für Webseitenlisten, Detailseiten und Leaderboards genutzt.

Automatischer JSON-Bau

Die Daten werden nicht manuell gepflegt, sondern über eigene Builder-Skripte erzeugt.

build_ships_from_api.py
Ruft alle Schiffe aus der Wargaming-API ab, lädt zusätzlich die globalen Module und baut daraus eine lokale ships.json

build_crews_from_api.py
Ruft Kommandanteninformationen und Kommandantenfertigkeiten aus der Wargaming-API ab. Zusätzliche Overrides ermöglichen eigene Texte, Korrekturen und individuelle Ergänzungen. Anschließend werden crews.json und crewskills.json lokal gespeichert.

build_maps_from_api.py
Erzeugt die lokale Kartendatenbank für /karte und /karten.

build_achievements.py
Erstellt die lokale achievements.json direkt aus der Wargaming-API. Dabei werden alle verfügbaren Errungenschaften automatisch geladen, strukturiert gespeichert und für die Discord-Ausgabe im Bot vorbereitet.

Weitere Builder ergänzen technische Schiffswerte für Verbrauchsmaterialien, Bewaffnung, Flugzeuge, taktische Staffeln und Luftschläge.

Dadurch bleibt der Bot schnell, weil Stammdaten lokal gelesen werden, während Spieler-, Clan- und Statistikwerte live über die API, aus Cache-Schichten oder aus der eigenen Datenbank kommen.

Watchdog und Dauerbetrieb

Der Bot wird durch einen externen Watchdog überwacht, der Watchdog prüft regelmäßig:

  • ob der Bot-Prozess noch läuft, ob Internetverbindung besteht
  • ob wichtige JSON-Dateien fehlen, ob JSON-Dateien veraltet sind
  • ob Builder-Skripte erneut ausgeführt werden müssen, ob Remote-Dateien aktualisiert wurden
  • ob ein Neustart notwendig ist
  • ob neue Daten geladen wurden und der Bot sie aktiv übernehmen muss

Wenn eine Datei fehlt oder veraltet ist, wird sie automatisch neu gebaut. Wenn der Bot abstürzt, startet der Watchdog ihn neu. Wenn Daten aktualisiert wurden, wird der Bot ebenfalls neu gestartet, damit die neuen Informationen aktiv sind.

Der Watchdog prüft alle 5 Minuten. Donnerstags ab 10:00 Uhr setzt er eine neue Refresh-Marke; sind die JSON-Dateien älter als diese Marke, baut er die Build-Ziele neu. So läuft der Komplett-Neubau nach dem morgendlichen WoWS-Update-Fenster und ohne manuellen Admin-Eingriff.

Auf dem VPS laufen Bot, Webseite, Crawler und Monitoring kontrolliert nebeneinander. Logs helfen dabei, Slash-Commands, Server-Stats, Clan-Stats, API-Probleme und Neustarts nachvollziehbar zu prüfen.

Autocomplete & Fuzzy Search

Viele Befehle nutzen Autocomplete, damit User Schiffe, Spieler, Clans, Nationen oder Klassen bequem auswählen können.

Zusätzlich wurde Fuzzy Search eingebaut. Wenn ein User ein Schiff oder einen Spieler nicht exakt schreibt, schlägt der Bot einen passenden Treffer vor, statt einfach nur „nicht gefunden“ zu sagen.

Viele Slash-Commands liefern inzwischen zusätzlich einen direkten Link zur passenden Friendly-Helpers-Seite. So bleiben Embeds kompakt, während Detailseiten wie Spielerprofil, Clanprofil, Schiffsdetail, Schiffsvergleich, Schiffduell oder Spielerduell tiefer gehen können.

Das macht die Nutzung deutlich freundlicher, gerade auf mobilen Geräten oder bei komplizierten WoWS-Namen.

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, Wargaming-API, lokal erzeugten JSON-Daten, eigener Datenbank, Slash-Commands, Autocomplete, Fuzzy Search, Webseite-Anbindung und Watchdog-Dauerbetrieb. Ein Bot für Spieler, Clans und Communitys, die ihre WoWS-Daten direkt dort haben wollen, wo gerade gesprochen wird: im Discord.

Friendly-Helper Discord-Bot

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.