Bot Lab
Our Friendly-Helper Discord bot brings World of Warships data straight into Discord. Ship data, player statistics, clan rankings, maps, commanders, achievements and comparison figures can all be retrieved directly via slash commands. The aim is simple: less switching to a browser, less copying and pasting, and more information right where the community is talking. It also offers automated notifications, welcome messages, server administration, demo mode and the Quiz Center for shared rounds.
Much of the World of Warships data is already available on the web, for example on the wiki or statistics sites.
The difference is:
There, you have to open a browser, search, copy, switch back to Discord and explain the figures.
Friendly-Helper brings this information directly into Discord chat.
This means:
no extra browser tabs, no copying and pasting, no lengthy searches, discussions directly in the channel, quick comparisons and immediately visible clan and player figures
For clan servers, streamer communities and active WoWS groups in particular, that is a clear advantage.
The bot, website and control panel work closely together: concise Discord output remains quick to read, while detail pages, comparisons, profiles and leaderboards provide the full data. Your server settings are accessible directly in Discord and in the web control panel.
Project Goal
Friendly-Helper brings World of Warships straight into Discord and connects chat with the detailed analyses on our website.
The bot can:
- display ship data directly in chat
- retrieve player profiles, statistics, Ranked progress and expert badges
- compare players, ships and clans
- display clan leaderboards, records and individual clan rankings
- display maps, commanders and achievements
- link directly from Discord to the relevant web analyses
- maintain server and clan statistics as locked display channels
- greet new members with configurable welcome messages
- send enabled notifications automatically to the selected channels
- regularly showcase selected bot features in a channel through demo mode
- manage settings through Discord admin centers and the web control panel
- refresh data regularly and run reliably around the clock
The Quiz Center adds general knowledge and clan quizzes with test rounds, free quizzes and scheduled Ranked rounds. The dedicated WoWS quiz module is not yet enabled.
Technical Foundation
The bot runs on Python 3.13 and uses, among other things:
discord.pyfor Discord integration, slash commands and interactive admin centersaiohttpfor asynchronous API requests- prepared ship data and local JSON files for maps, commanders and achievements
- PostgreSQL 16 as the central database for players, clans, rankings and bot settings
- FastAPI for the website and the separate web control panel
- shared settings for Discord commands, admin centers and the control panel
- builder scripts for the supplementary JSON data
- systemd and a watchdog for continuous operation
- nginx, separate logs and regular health checks
- autocomplete and typo-tolerant search for supported commands
Since September 2026, Friendly-Helpers has been running on a netcup RS 2000 G12 with Debian 13, eight available processor cores and around 16 GB of RAM. The bot, website, control panel, database and background jobs run there as separate services and tasks.
Concise Discord output links to the full analysis on the website. The bot and control panel use the same stored settings.
Data Sources
Ship data is readily available for bot commands and ship pages.
Depending on the area, player, clan and season data is read from the Wargaming API, our PostgreSQL database or a temporary cache. This keeps responses fast and consolidates repeated requests.
Our ship data includes:
- Name, nation, class and tier
- Hit points, speed, turning circle and rudder shift time
- Main battery, reload time, range, dispersion and sigma
- Torpedoes, secondary armament and anti-aircraft defence
- Detectability, consumables and upgrades
- Aircraft, tactical squadrons and airstrikes
- Premium and special status, modules, images and icons
These values are available in commands such as /info and /vergleich, as well as on the detailed ship pages.
achievements.json
Contains achievements with names, descriptions, types, images and requirements.
Commanders, skills and ranks
The commander pages use the new prepared dataset with portraits, talents, enhanced skills and rank information. The bot adds concise information and a link to the relevant detail page.
maps.json
Contains map information for the map commands.
PostgreSQL also stores player and clan profiles, per-player ship statistics, rankings, Clan Wars data, snapshots and update timestamps. Server settings, notifications, welcome messages, demo mode and quiz state are also held centrally there.
Automated JSON Builds
Supplementary data is processed by dedicated builders for each area and made available as validated datasets.
Commander data preparation
The new builder supplies commanders, skills, ranks and associated images for the commander pages. Talents and enhanced skills are shown there with their conditions and effects.
build_maps_from_api.py
Creates the local map database for /karte and /karten.
build_achievements_from_api.py
Retrieves the available achievements from the Wargaming API and prepares achievements.json for Discord output.
The watchdog checks the local bot JSON files for maps, achievements and the existing commander output for missing or outdated content. Their weekly refresh begins on Thursdays from 10:00. The new commander dataset for the website is released independently.
The crawler continuously maintains player and clan data in PostgreSQL. Rankings, ship meta and snapshots are refreshed by dedicated scheduled jobs. This keeps quick bot responses and heavier background analyses separate.
Watchdog and Continuous Operation
systemd keeps the services running on the root server. An external watchdog also starts and monitors the bot.
The watchdog checks every five minutes.
- whether the bot process is running and an internet connection is available
- whether JSON files for maps, commanders and achievements are missing or outdated
- whether the corresponding builders need to run again
- whether the available ship data is valid and readable
- whether a data build or process failure requires a bot restart
Missing or outdated JSON content is refreshed by the corresponding builders. After relevant rebuilds, the watchdog restarts the bot so it loads the updated content.
On the new root server, the bot, website, control panel, crawler and monitoring run alongside one another in a controlled way. Staggered background jobs and dedicated resource limits help distribute the load.
The daily health check and additional regular checks monitor services, availability, data freshness and database growth. Separate logs make command errors, automated notifications and restarts traceable.
Autocomplete & Fuzzy Search
Many commands use autocomplete, allowing users to select ships, players, clans, nations or classes with ease.
There are also typo-tolerant suggestions: /info helps when ship names are not entered exactly; /spielerduell and /clanrang can suggest matching player names from the Wargaming search results.
Many slash commands include a direct link to the relevant Friendly-Helpers page. This keeps embeds compact, while player and clan profiles, ship details, comparisons and duels provide more depth.
For admins, /welcome einrichten, /notifications einrichten, /serverstats einrichten, /clanserverstats einrichten and /demomodus einrichten open the respective interactive Discord centers. The same five areas can also be managed in the protected Control Panel (German).
Selection menus, buttons and input dialogs make setup and changes easier. Simply opening a center does not activate any feature; changes require the appropriate server permissions.
Friendly-Helper is a Discord bot for World of Warships that makes ship data, player statistics, clan analyses, maps, commanders and achievements available directly in chat. Built with Python 3.13, PostgreSQL, slash commands, interactive admin centers, autocomplete and fuzzy search. Together with the website, control panel and watchdog, the project runs on the new root server under Debian 13. A bot for players, clans and communities who want their WoWS data right where the conversation is happening: in Discord.
All this and much more, directly on your Discord server
The Friendly-Helper bot brings ship data, player statistics, clan analyses, maps, commanders and comparisons directly to your server.