Skip to content

Bot commands

CivBot commands, grouped by who uses them: players, moderators and server admins. Next to each command you see what it does, what options it has and who can run it.

How to run commands

Type “/” in the message box on a server, and Discord shows the CivBot commands. Pick a command, and Discord suggests its options. Pick an option, and Discord adds its name with a colon for you: you only enter the value, for example turns:212.

Run commands on a server where CivBot works, not in direct messages to the bot. Each command works with the games, players and settings of that server.

The bot sends most replies privately, so only you see them. Some refusals disappear on their own after 3–20 s. The bot posts the game panel, the leaderboards from /leaderboard show and /leaderboard season, the /stats show card and the /guild config settings card for everyone in the channel.

Only the /game group and the “Profile on site” menu item have translated names, in Ukrainian and Russian clients. The group's commands are /game finish and /game refresh, and their options are winner, win_type, turns and game. All other commands and options have English names only. Discord shows the hints for /gametime, /leaderboard season and /search games_by_players in Russian. See Bot language.

Commands for players

Anyone on the server can run these commands. The exception is /game finish: a game participant or a moderator records the game's result.

Command What it does What to enter
/game finish Records the winner, the win type and the number of turns: the game gets the “Finished” state, and in FFA the rating changes; run by a game participant or a moderator winner, win_type, turns; outside a game thread also game
/game refresh Redraws the game card in the thread with the latest data; doesn't change the game itself game — only outside a game thread
/stats show Posts a player stats card in the channel in the server language user — whose stats; without it, yours
“Show Stats” item Shows a player stats card privately in your Discord language —
“Profile on site” item Privately gives a link button to the player's profile on the site —
/nations stats Shows how many times each nation was banned and picked in the server's games where at least 3 players placed bans period, status, private
/gametime Draws a heatmap of the days of the week and the hours when the server's games start timezone, is_private, force_update
/search games_by_players Shows the server's games in which all the listed players played together player1, player2, player3…player6, private

Finishing and refreshing a game

In a game thread, both commands work out which game you mean. Outside a thread, enter the game number in the game option. You can see the number in the thread name, for example “248 — FFA 6 Patch”.

The /game finish command finishes only a game in the “In progress” state, and only when every player has a nation picked or the site read it from the save. Only a player of this game can be the winner.

You can also finish a game on the site with the “Finish game” button. Only a game participant can do it, and the result and rating are the same. See Finishing a game on the site.

Option What to enter
winner The player of this game who won
win_type One type from the list: “Touristic 🎨”, “Scientific 🧪”, “Diplomatic 🕊️”, “Militaristic 🗡️” or “Winner recognition 🤝”
turns Number of turns played, a whole number from 1 to 330
game The game number; needed only outside a game thread
/game finish winner:@Orion win_type:Scientific turns:212

The game gets the “Finished” state right away: the bot doesn't ask the other players to confirm. The bot replies privately “Done!” to /game finish and “Refreshed” to /game refresh. After a game without a save is finished, the bot leaves a one-time reminder in the thread, “Keep this game's story”, with an “On site” button; this applies on the server the CivBot site works with. See Finishing a game, Game thread and Save in the game thread.

Player stats

Everyone in the channel sees the /stats show card. Anyone who sees it can switch its tab or period. The “Show Stats” item shows the same card to you only. Open it from the Apps menu by right-clicking a player. The card's buttons turn off after 3 min without presses. See Player stats.

Profile on site

This applies on the server the CivBot site works with. Right-click a player and, in the Apps menu, pick “Profile on site”: the bot privately mentions the player and gives you a “🌐 Profile on site” button. It opens that player's Player profile, and you sign in to the site through Discord. If the bot doesn't know the player yet, it replies “This player has no games on the site yet.” On another server, the reply is “The site does not show this server's games.”

Searching games by players

The /search games_by_players command looks for the server's games in which all the listed players played together. player1 and player2 are required; add up to four more in player3…player6. The reply is private by default; to show it to everyone in the channel, add private:False. The bot shows the result in pages with paging buttons, which turn off after 3 min without presses. The reply texts are in Russian: “Игры с участием указанных игроков не найдены”. On the site, Games on the site and the search in the top bar give a similar search.

/search games_by_players player1:@Orion player2:@Vega

Nation stats and game times

These two commands reply privately by default. To show the reply to everyone in the channel, add private:False, or is_private:False for /gametime.

The /nations stats command counts only games that started in the chosen period and in which at least 3 different players placed bans. So Duel games are not in these stats. Without options, the command takes such finished games from the last 30 days.

The period option sets the period:

  • period:week — 7 days;
  • period:month — 30 days;
  • period:season — 90 days, not a rating season;
  • period:year — 365 days;
  • period:all — all games.

The status:active option shows games in the “In progress” state.

The /gametime command draws the map in Kyiv time. Pick another time zone in the timezone option: start typing a city name in English, and Discord suggests matching zones. For example, with timezone:Europe/Berlin the map is in Berlin time. The bot refreshes the numbers for the map at most once an hour, and force_update:True refreshes them right away. See Nation stats and game times.

Commands for moderators

Only a moderator can run these commands: the server owner, a member with the Discord “Administrator” permission, or a member with the server's moderator role. A server admin sets the moderator role with /guild config. See Players, moderators and admins.

Command What it does What to enter
/moderator panel Places the game panel in the current channel: a list of recent games and the “FFA”, “Duel”, “Player Stats” and “Info” buttons —
/leaderboard show Posts the current season's leaderboard in the current channel; the bot refreshes it every hour —
/leaderboard season Posts the leaderboard of the given or the previous season in the current channel; the bot doesn't refresh it season_id — the season number; without it, the bot takes the previous season
/season list Privately shows the list of seasons: up to 10 seasons, each with a “🟢 Active” or “⚫ Closed” mark, a number and dates —
/season info Privately shows the active season's card: “Status”, “Started”, “Duration” in days and the season number —
/guild steam_game_id Sets the server's Steam Game ID; the bot replies “Done ✅” or “Failed ❌”, and the chosen value shows on the /guild config card game_id — one from the list: Civilization V or Spacewar
/guild log_channel Turns the event log on in the given channel, or turns it off channel — the log channel; without it, the log turns off
/guild notifications configure Turns gathering notifications on and sets their options channel, cooldown_minutes, role, restricted_role
/guild notifications status Privately shows the notification settings and whether the bot is ready to send them —
/guild notifications disable Turns gathering notifications off —

Game panel and leaderboard

The game panel and the leaderboard appear in the channel where you ran the command. The bot refreshes only one game panel and one leaderboard per server. Running /moderator panel or /leaderboard show again deletes the previous message, even in another channel. That is how you move the panel or the leaderboard to another channel.

The bot doesn't reply separately to /moderator panel: the panel just appears in the channel. The bot refreshes the game list on it every 5 min, and right after a game starts, finishes or is scrapped. The bot replies privately “Leaderboard has been created!” to /leaderboard show.

The /leaderboard season command changes neither the leaderboard channel nor the current season's leaderboard. /season list shows the season number for its season_id option. Only the bot owner starts and closes a season, because a season is shared by all servers. See Game panel, Leaderboard and Seasons.

Event log and gathering notifications

The /guild log_channel command with the channel option turns the event log on in that channel. The bot replies privately “Log channel set to #… successfully.” The same command without the option turns the log off, and the bot replies “Log channel cleared successfully.”

The /guild notifications configure command sets all notification settings anew each time:

Option What it sets What happens without it
channel A text channel for notifications Discord won't let you send the command
cooldown_minutes The pause between one game's notifications, from 3 to 60 min 15 min
role The role the bot mentions above the notification The notification role is removed
restricted_role A role whose holders can't send notifications The restricted role is removed
/guild notifications configure channel:#game-search cooldown_minutes:20 role:@Players

To change one option, first check the rest with /guild notifications status. Then enter them in /guild notifications configure again: the bot resets an option you leave out, as the table shows. See Event log and Setting up gathering notifications.

Commands for server admins

A server admin is a member with the Discord “Manage Server” permission. The server owner and members with the “Administrator” permission have it automatically.

Command What it does What to enter
/guild config Posts an English server settings card in the channel with the “Select what you want to configure ...” menu —

The “Channels” item sets the game history channel (the “History channel...” menu) and the game gathering channel (the “Active games channel...” menu). The “Roles” item sets the moderator role (the “Moderator role ...” menu). The bot sends these menus privately, and they disappear after 60 s.

The “Manage Server” permission alone doesn't make you a moderator. To place the game panel and the leaderboard, you need the “Administrator” permission or the moderator role. See Adding CivBot to a server.

What can go wrong

  • The /game commands aren't in the list. In a Ukrainian Discord client this group is called /гра. Type /гра and choose /гра завершити or /гра оновити.
  • The bot says “Moderator role not set. Please contact server administrator.” /moderator panel, /guild log_channel and /guild steam_game_id reply this way when the server has no moderator role set and you don't have the “Administrator” permission. Ask a server admin to set the moderator role and give it to you.
  • The bot says “You are not moderator.” The server has a moderator role set, but you have neither that role nor the “Administrator” permission. Ask a server admin to give you the moderator role.
  • The bot says “You must be a moderator to use this command.” Only a moderator can run /leaderboard show, /leaderboard season, /season list and /season info. Ask a server moderator.
  • A notification command replies “You are not allowed to perform this action.” Only a moderator can run /guild notifications commands. Ask a server admin to give you the moderator role.
  • The bot doesn't run /guild config and says “You don't have permissions to do that!” This private reply disappears after 3 s. /guild config needs the Discord “Manage Server” permission. Ask a server admin.
  • /leaderboard season replies “Предыдущие сезоны не найдены”. There are no past seasons yet. /leaderboard show posts the current season's leaderboard.
  • /game finish replies “You are not in this lobby.” The game option has the number of a game you don't play in, and you aren't a moderator. Check the number in the game thread name.
  • /game finish replies “Game ID not found.” You ran the command outside a game thread without the game option. Run it in the game thread or enter the game number.
  • /game finish replies “Can't do this command in current lobby state.” The game with the number in the game option isn't in the “In progress” state: it was already finished or scrapped, or there is no such number. Check the number in the game thread name.
  • /game finish replies “Game was already finished by another player or not found. Please refresh to see results.” The game was already finished or scrapped, for example while you were typing the command. You can see its state on the game card in the thread.
  • /game finish replies “All players must pick their nations before finishing!” Some player has no nation picked yet, and the site didn't read it from the save. Pick it in the game thread or on the site and run the command again.
  • /game finish replies “The winner must be a player of this game.” The winner option names someone who doesn't play in this game. Pick a player from the game card.
  • /game refresh replies “Specify game_id or call command from game thread”. You ran the command outside a game thread without a number. Add the game option or run the command in the game thread.
  • “Profile on site” replies “The site does not show this server's games.” This item works only on the server the CivBot site works with.
  • “Profile on site” replies “This player has no games on the site yet.” The bot doesn't know this player yet; the profile appears once they play.
  • /search games_by_players replies “Необходимо указать минимум двух игроков”. You listed one player, or the same player twice. Pick at least two different players.
  • Discord doesn't accept a number in an option. The turns option takes a whole number from 1 to 330, and cooldown_minutes takes one from 3 to 60.
  • Text in Russian. The /gametime command replies in Russian whatever the server language. The leaderboard header (“Топ игроков”) is always in Russian too. See Bot language.

This page was translated with AI and checked against the bot's terms.