Discord Bot Tutorials

Step-by-step guide to using the Team Up Discord bot for tracking Elo ratings and competitive matches

Getting Started

1. Invite the Bot

Add the Team Up bot to your Discord server. The bot needs basic permissions to send messages and manage roles (for tier assignments).

Add Bot to Server →

2. Set Default Leaderboard (Optional)

If you plan to use multiple leaderboards, set a default one to use when no leaderboard is specified.

/default_leaderboard set leaderboard:"my-league"

Sets "my-league" as the default leaderboard

3. Record Your First Match

Start tracking matches immediately! Use the quick command for 1v1 matches. The leaderboard will be created automatically.

/record_match quick opponent:@player2 winner:I won

That's it! Your leaderboard is now live.

4. Display Leaderboard

Create an auto-updating leaderboard message in any channel to see the rankings.

/leaderboard display_leaderboard rating_type:Global

Shows the global leaderboard with all players

Recording Matches

Quick 1v1 Matches

The fastest way to record a simple 1v1 match.

/record_match quick opponent:@player2 winner:I won

Quick command when you win

/record_match quick opponent:@player2 winner:Opponent won

Quick command when opponent wins

Standard Match Recording

Record matches with full placement details. Works for 1v1, teams, and free-for-all formats.

1v1 Match

/record_match elo 1st_place:@player1 2nd_place:@player2

Player1 wins, Player2 loses

2v2 Team Match

/record_match elo 1st_place:(@player1 @player2) 2nd_place:(@player3 @player4)

Group teammates with parentheses

Free-For-All (4 players)

/record_match elo 1st_place:@winner 2nd_place:@second 3rd_place:@third 4th_place:@fourth

List placements in order

Undo Mistakes

Made a mistake? Undo the last recorded match.

/record_match undo

Reverts the most recent match

Manual Rating Adjustments

Manually specify exact rating changes (for special cases or corrections).

/record_match manual 1st_place:@player1 1st_place_delta:25 2nd_place:@player2 2nd_place_delta:-25

Player1 gains 25 rating, Player2 loses 25

Managing Leaderboards

Display a Leaderboard

Create an auto-updating leaderboard message in any channel.

/leaderboard display_leaderboard rating_type:Global

Shows the global leaderboard (all match types)

Display Match History

Show recent matches in a channel.

/leaderboard display_history limit:10

Shows the 10 most recent matches

Configure Elo Settings

Customize how Elo ratings are calculated. See the configuration reference for all available options.

Set K-Factor

/leaderboard_config set k_factor:32

Controls how much ratings change per match (default: 32)

Set Default Rating

/leaderboard_config set default_rating:1200

Starting rating for new players (default: 1500)

Require Placement Matches

/leaderboard_config set matches_required:5

Players need 5 matches before appearing on leaderboard

View Configuration

Check your current leaderboard settings.

/leaderboard_config view

Shows all current configuration values

Creating Tiers

Elo-Based Tiers

Automatically assign Discord roles when players reach certain Elo ratings.

/tiers create rating_type:Global required_elo:1800 role:@Diamond

Players with 1800+ rating get the Diamond role

/tiers create rating_type:Global required_elo:1500 role:@Platinum

Players with 1500+ rating get the Platinum role

Rank-Based Tiers

Assign roles based on leaderboard position (e.g., top 10, top 50).

/tiers create_rank rating_type:Global rank:1 role:@Champion

The #1 player gets the Champion role

View Tiers

See all configured tiers for your leaderboards.

/tiers view

Shows all tier configurations

Customization

Customize Leaderboard Appearance

Add branding to your leaderboard with custom names, icons, and colors.

/profile_manager leaderboard set display_name:"Season 1 Ranked" color:"#FF4500"

Sets the display name and theme color

Player Profiles

Players can customize their own profile appearance.

/player profile display_name:"ProGamer" primary_color:"#00FF00"

Customize your display name and color theme

Server Profile

Customize your server's appearance on the public leaderboard website.

/profile_manager server set display_name:"Awesome Gaming" invite_url:"discord.gg/..."

Set your server's public profile

Advanced Features

Channel Configuration

Associate specific leaderboards with Discord channels for auto-detection.

/channel_config set leaderboard:"ranked" reporting_channel_id:#match-results

Matches in this channel use "ranked" leaderboard, results posted to #match-results

Backup & Import

Export your leaderboard data or import from another source.

/backup export leaderboard:"default"

Exports all data as a JSON file

/backup import data_file:[attach-file] leaderboard:"default"

Imports data from a JSON file

Team Management

Create persistent teams with custom names and track their ratings separately.

/team_admin create team_id:"team-alpha" team_size:3 members:@player1 @player2 @player3

Creates a team called "team-alpha" with 3 members

/record_match team_alias 1st_place:team-alpha 2nd_place:team-beta

Record a match using team names instead of @mentions

Hide/Show Players

Hide specific players from leaderboards (useful for bots, test accounts, etc.).

/hide_rating hide player:@testbot

Hides player from all leaderboards

/hide_rating show player:@testbot

Makes player visible again

Discord X