Home How it works Tennis Padel Badminton Table Tennis Changelog
Built in the open · Updated as it ships

LeagueBot changelog

LeagueBot improves week by week, inside your existing WhatsApp group. This is the running log: what shipped, what got smarter, and what got fixed.

2026-10-20 Box leagues New

Leagues can now run as boxes: small groups where everyone plays the rest of their box. Admins set boxes with /box and can give them names, like Black group. At the end of a season, players move up or down a box. The league page shows a table for each box.

2026-10-19 Admins can record a result themselves New

League admins can now enter a result directly, like /result Sam beat Leo 6-3 6-4, for a match nobody reported. It works even if the admin doesn't play in the league.

2026-10-19 Walkovers, retirements and unfinished matches New

Admins can now record a walkover or a retirement with /forfeit, and a match that ran out of time with /unfinished. They show on the results page as w/o, ret. and unfinished.

2026-10-17 A limit on how often two players meet New

Admins can now cap how many times the same two players play each other in a season, for example /set same pair limit 2. Every result counts toward it. When a result would go past the limit, the bot doesn't record it and DMs the admin instead, who can record it anyway with a one-number reply. It's off by default.

2026-10-17 Rank a points table by match points New

Points leagues can now be ranked by match points instead of wins. Each match shares 5 points, so a 2-0 win scores 5–0 and a 2-1 win 4–1. Set it with /set rank by match points before the season's first result. It assumes best-of-3 matches. Ranking by wins stays the default.

2026-10-07 Seasons New

Leagues now run in seasons. When a season is over, the admin sends /season close (optionally with a name for the next one, like /season close Spring 2027). The bot replies with a preview of the final standings, and nothing changes until the admin confirms. Closing keeps everyone's position, starts every record again at 0-0, and keeps the old season's final table on the league page under Past seasons. /season shows how the current season is going. A league that hasn't closed a season yet looks exactly the same as before.

2026-10-05 Court sign-ups New

Players can now sign up for posted courts. The admin turns it on with /set court sign-ups on. Then players DM courts to get a numbered list and reply with a number to take one: 2, or 2 with Sam. The league's Courts page shows who's on each court. It's off by default.

2026-10-05 Admins who don't play can post courts Improved

A league admin who isn't on the roster can now post courts: in the group, by DM, or with /addcourt. Before, only players could post a court, so an admin running courts for their club had to add themselves as a player first.

2026-10-01 League settings for admins New

Admins can now see and change their league's rules from WhatsApp. Send /settings to see each rule and what it's set to, and /set followed by a rule's name to see its options or change it. The first rule is match length: for example, if your players agree the format match by match, /set match length any makes a single set count as a full result. Setting up a new league no longer needs a call to us. The "you're live" message now points new admins at /settings.

2026-09-26 Reply to the bot's questions with a swipe Improved

Admins can now swipe to reply to one of the bot's questions and just send their answer. The bot knows which question it's for, even when several are waiting.

2026-09-26 Confirm or correct a score the bot couldn't verify Improved

When LeagueBot can't match a score to what was written in the message — for example one typed without dashes ("62/62") — it no longer just skips the result. The admin can record it as read, send the correct result, or drop it, and a correction is recorded only once they confirm it.

2026-09-21 Results wrapped in thanks or banter now count Fixed

Post a result with a thank-you or a bit of banter around it — "Sam vs Leo, 6-3 for Leo. Thanks for hosting, really enjoyed it!" — and LeagueBot records it. Before, the friendly part could tip the whole message into looking like ordinary chat, so the result was missed with nothing to show it had been. A message that's only congratulation, with no score of its own, is still read as chat.

2026-09-19 Deleting a result puts the ladder back exactly Fixed

When an admin removes a result with /deletematch, the rankings now go back to exactly where they would have been without it — even if other results have been recorded since. The reply names the match it removed (players, score and date) so you can check it was the right one. In the rare case it can't undo a match exactly, it says so and changes nothing, rather than guessing.

2026-09-19 Admins settle unclear results with one reply New

When LeagueBot can't safely record a result — a name that could be two players, or a score that doesn't show who won — it no longer asks the admin to chase the player for a resend. It DMs the options instead ("1 record Sam beat Leo… 2 … 0 none of these"), and the admin answers with a number. The result is recorded as if the player had sent it correctly.

2026-09-19 Better at telling similar names apart Improved

Players often write a ladder position next to a name ("Mohamad 18"). LeagueBot now uses that number to pick between similar spellings, so a slightly misspelt name next to the right position is recorded correctly instead of being turned away. When the name and the number both point to the same player, that's who gets the result — and the admin can switch it with one reply if it's ever wrong.

2026-09-19 Catches scores that were read the wrong way round Fixed

LeagueBot now checks every score it reads against how it was written. If the sets come out mixed up, or the recorded winner didn't actually win most of the sets, it records nothing and asks the admin who won. Tip: say who won when you post a result, e.g. "Sam wins 4-6 6-0 6-3".

2026-09-14 Results go to the right player Improved

When several players share a first name, that name alone isn't enough to tell them apart — so LeagueBot now uses the ladder position people write beside a name, and checks that morning's standings when the number is out of date. It will never credit a result to someone who isn't named in the message, and if the name and the number disagree it refuses to record and asks the admin rather than guessing. When a name genuinely fits two players, the admin gets a note saying which one was used and how to undo it.

2026-09-12 LeagueBot won't invent a score Fixed

Told "beat him 2 sets to love", it used to fill in a plausible-looking scoreline nobody had written, and record it. Now every number in a recorded score has to appear in your message. If you report a result without the actual scores, it asks instead of guessing — and an unfinished match reported as "retired at 3-1" still records fine.

2026-09-12 Court posts and game requests stopped going missing Fixed

Every court and "anyone for a game?" post since launch had been silently dropped — they never made it into the group's availability list. That's fixed, and the bot now has a second AI provider to fall back on, so a bad day at one supplier doesn't mean a day of ignored messages.

2026-09-12 Your league decides what counts as a full match Improved

A single set is a complete result in leagues where players agree the format before they play — but LeagueBot assumed every tennis match was best of three or five, and quietly ignored single-set results. Match length is now a league setting. Scores written with a slash ("7/6") are read as scores too, rather than mistaken for a date.

2026-09-12 Courts posted for a weekday no longer land a week late Fixed

When you named a weekday, LeagueBot could pick the wrong occurrence and file the booking seven days out, so it never showed up when people asked what was free that week. Weekdays now resolve to the next one, and "tonight", "tomorrow" and "next Saturday" all read correctly.

2026-09-12 A score posted with a photo now counts Fixed

If you snapped the scoreboard and typed the result as the caption, LeagueBot never saw it — the match went unrecorded. Captions are now read exactly like ordinary messages. This also fixes groups with disappearing messages turned on, where nothing was being picked up at all.

2026-09-10 LeagueBot is live New

The bot now sits in the league's WhatsApp group and runs it end to end: post your result in the chat the way you always have, and it records the match, updates the ladder, and acknowledges with a 🎾. No app, no forms, no admin chasing scores. Rankings, match history and court posts are on the league's own web page, and you can DM the bot to report a result privately or ask where you stand.

Something you'd like LeagueBot to do? Tell us.

Want your league run this well?

Everything on this page runs inside your existing WhatsApp group. Add LeagueBot and it just works — and keeps getting better.

Get in touch