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
Explore More
Continue learning about the Team Up Leaderboard API