Rivals League, a Swedish league whose platform I build, 2026
Discord operations for a 154-team league
The Discord side of a league platform: every team gets its roles and channels from the roster, the league's broadcasts are announced automatically, and players log in to the league site with Discord.
- Provisioning scripts build the server from the league roster: 7 divisions, 18 groups and 154 teams, each with its own role, private voice channel and staff permissions. Every script has a dry-run mode.
- A go-live notifier checks the league's Twitch channel every minute. When it goes live, each game's Discord channel (CS2, League of Legends, VALORANT) gets an alert with that day's division, with a six-hour cooldown per game so nobody gets spammed.
- Players sign in to the league website with Discord, and a sync job repairs usernames that have changed since registration.
- Staff get member counts per game server with hourly snapshots, so they can see how many joined in the last seven days.
Built with
- discord.js 14
- Discord OAuth2
- Vercel functions and cron
- Supabase
- Twitch API