Skip to content

Server Admin Guide

c0bra edited this page Jul 24, 2026 · 1 revision

Server Admin Guide

This page is for Discord server administrators configuring Battlevive Bot after it has been deployed.

Bot permissions

The bot needs enough Discord permissions to manage the features you enable:

  • Manage Roles to create and assign Battlevive Player and rank roles.
  • In the leaderboard channel: View Channel, Send Messages, Attach Files, and Read Message History.
  • Access to guild members so it can resolve Battlevive users to Discord members.

The configuration commands below use Discord's Manage Server default permission, and the bot also checks Manage Server before changing or showing configuration.

Commands

/create_roles

Creates the required rank roles and the Battlevive Player role if they do not already exist. The bot logs missing permission or HTTP failures if Discord rejects role creation.

/refresh

Requires Manage Server and can only be used in a server. It refreshes Battlevive users, lobbies, and season ratings; syncs the local database; updates player/rank roles; and requests leaderboard reconciliation.

/config leaderboard channel

Requires Manage Server and can only be used in a server. Choose a text or announcement/news channel for future leaderboard posts. The bot validates that it has View Channel, Send Messages, Attach Files, and Read Message History in that channel before saving the setting.

/config leaderboard limit

Requires Manage Server and can only be used in a server. Set the number of leaderboard places from 1-50. If the amount is omitted, the bot uses the maximum of 50.

/config reset leaderboard

Requires Manage Server and can only be used in a server. Clears leaderboard channel and limit configuration for the server and requests leaderboard reconciliation.

/config show

Requires Manage Server and can only be used in a server. Shows the configured leaderboard channel and leaderboard limit for the server.

Leaderboard behavior

Each Discord server has its own guild_config row. Leaderboard message metadata is stored in leaderboard_slots, while complete rendered PNGs are stored on disk under app/data/leaderboards/<guild_id>/ and are persisted by the Compose volume.

When rating or user link/name data changes, PostgreSQL notifications request a leaderboard update. The bot also periodically reconciles as recovery for missed notifications.

Clone this wiki locally