Skip to content

Commands & Features

FFU Bot is a Discord bot built for the community, covering Hearts of Iron IV nation reservations, game balancing, player statistics, game history, signups, and a few utility/fun extras.

Help / Guide Command

CommandDescriptionPermission
/guideInteractive, in-Discord guide to every command, grouped by category, with a dropdown to switch topics and step-by-step setup walkthroughs for the Nation Reservation and Signup systems.Everyone

Run /guide for an overview, or /guide topic:<category> to jump straight to a section (e.g. topic:Nation Reservations).

Nation Reservation System (Multi-Game)

The bot includes a nation reservation system designed for HOI4 (Hearts of Iron IV) multiplayer games. This system allows players to reserve countries for upcoming game sessions and supports managing multiple game sessions concurrently.

Slash Commands

CommandDescriptionPermission
/game setupSets up a new game session with a unique ID, specifying reserve/request channels, game name, date, role to ping, and optional 30-min pre-game reminder (DM, channel, or none). Optionally pass a template to use custom factions/countries instead of the default WW2 setup.Administrator
/game listgamesLists all currently active game reservation sessions.Everyone
/game reserveReserves a nation for the user in a specific game session (game_id). Uses autocomplete for game ID and nation.Everyone
/game clearClears the reservation for a specific nation in a specific game session (game_id). Uses autocomplete.Administrator
/game updateForces an update of the reservation message for a specific game session (game_id). Uses autocomplete.Administrator
/game setdateChanges the date for a specific game session (game_id). Uses autocomplete.Administrator
/game deletegameDeletes a specific game session (game_id) and its configuration. Its backup snapshot is always preserved. Uses autocomplete.Administrator
/game finishLogs the winning winning_faction (or “Draw”) plus an optional text summary for a game session (game_id) to the game history. Uses autocomplete.Administrator
/game analyzeAnalyzes team balance for a specific game session (game_id) based on current reservations and player stats. Uses autocomplete.Administrator

Custom Templates (Alt-History Games)

The /template command lets admins build a reusable, custom set of factions and countries — for alt-history or non-WW2 games — that can be picked from the optional template field of /game setup instead of the default WW2 nation structure.

CommandDescriptionPermission
/template createCreates a new empty template with a unique name.Administrator
/template addfactionAdds a faction/alliance (e.g. “Entente”) to a template.Administrator
/template removefactionRemoves a faction and all of its countries from a template. Uses autocomplete.Administrator
/template addcountryAdds a custom country/nation to a faction (auto-created if new). Optional emoji, coop_slots, and multi_slot (allows multiple players to reserve it, like “Filler”).Administrator
/template removecountryRemoves a country from a faction, optionally cascading to its Co-op slots (remove_coop_slots). Uses autocomplete.Administrator
/template deleteDeletes a template entirely. Uses autocomplete.Administrator
/template listLists every template defined in the server with faction/country counts.Everyone
/template viewShows the full faction/country breakdown of a template. Uses autocomplete.Everyone

How It Works

  1. Setup: An administrator sets up a new game session using /game setup, providing a unique game_id, reserve channel, request channel, game name, date, and the role to mention.
  2. Reserve List: The bot posts and maintains a message in the specified reserve channel showing available nations grouped by faction for that specific game session.
  3. Making Reservations: Players can reserve nations for a specific game session either via /game reserve or by typing the country name/alias in the game’s designated request channel.
  4. Automatic Updates: The reservation list message is updated automatically whenever reservations change for that game.
  5. Team Analysis: Administrators can use /game analyze for a specific game to get a detailed breakdown of team composition, average player ratings, and win probability estimates.
  6. Finishing a Game: Once a game concludes, /game finish records the winning faction and an optional summary to the game history.

Country Aliases

The system supports numerous aliases for countries (e.g., “usa”, “america” for United States). Players can type “unreserve” in the request channel to clear their reservation for that specific game.

Game Balancing System

The bot includes a sophisticated team balancing system for Hearts of Iron IV multiplayer games. This system analyzes player statistics and creates optimally balanced teams for competitive play.

CommandDescriptionPermission
/balance-gameCreates balanced teams using all available players from the stats database.Everyone

How the Balancing System Works

  1. Player Statistics: The system uses a comprehensive player database with skill ratings in various categories.
  2. Team Assignment: Players are distributed between teams using a snake draft algorithm to ensure balanced skill levels.
  3. Faction Optimization: The system analyzes player performance with different factions and optimizes team-faction assignments.
  4. Country Assignment: Countries are assigned to players based on their skill level and position within the team, with automatic co-op positions when there are more players than major countries.

Player Statistics System

CommandDescriptionPermission
/playerstats addAdds a new player to the statistics database with ratings for various skill categoriesAdministrator
/playerstats updateUpdates an existing player’s statistics in one or more skill categoriesAdministrator
/playerstats deleteRemoves a player from the statistics databaseAdministrator
/ratingShows your player skill scores and overall rating from the stats databaseEveryone

The system tracks seven skill metrics per player (Micro, Macro, Gamesense, Comms, Coop, Variety, Mental), automatically calculating an average and a weighted overall rating. This data also powers the game balancing feature above.

Player Roasting System

CommandDescriptionPermission
/worst-playerRandomly selects a player and humorously critiques their weakest skillEveryone

Fun Commands

CommandDescriptionPermission
/ragebaitPosts a random rage-inducing GIF.Everyone

IC Graph System

The bot features an interactive Industrial Capacity (IC) graphing system for Hearts of Iron IV games, allowing users to visualize and compare military and naval production over time.

CommandDescriptionPermission
/graph viewDisplay interactive IC graphs with configurable options using data from uploaded filesEveryone
/upload-fileUpload a .txt file to the IC graph data folder for use with the graphing systemAdministrator
/graph toolGet the Hearts of Iron IV graph tool download link for personal useEveryone

Graphs support toggling between Military/Naval metrics, Daily/Cumulative views, aggregated factions vs. individual countries, and interactive country selection.

The standalone desktop tool used to generate these IC data files is available on GitHub: HOI4 Graph Tool Releases.

Game History System

CommandDescriptionPermission
/history logRecords a completed game result with winner (Allies/Axis/Draw), game name, and optional notesAdministrator
/history listDisplays recent game results with per-faction win counts, optionally with a full roster breakdown (detailed:true)Everyone

Signup System

Allows administrators to manage sign-up sheets for upcoming games so players can register their interest.

CommandDescriptionPermission
/signup openCreates a new, named signup sessionAdministrator
/signup closeCloses an existing signup sessionAdministrator
/signup joinJoin an open signup session (autocomplete)Everyone
/signup leaveLeave a signup session you joinedEveryone
/signup listShow all sessions and their current participant listsEveryone

Blame System

A light-hearted accountability feature that lets players publicly blame each other for game losses while tracking a cumulative blame count per-player.

CommandDescriptionPermission
/blameBlame a player with a required reason and optional game referenceEveryone

Utility Commands

CommandDescriptionPermission
/wikiSearch the Hearts of Iron IV wiki — returns a direct link to the search resultsEveryone
/modReturns the Steam Workshop link for the community modEveryone