Skip to content

v0.3.0 — team competitions

Choose a tag to compare

@JordanCoin JordanCoin released this 23 Aug 02:53
· 1 commit to main since this release
354993f

--team on competition create

The CLI could read team competitions and not create them. A clan bingo on WOM is a team competition, so the shape the clan actually runs was the one shape Andy could not make. Me So Scape Battleship Bingo (140957) and Me So Summer Bingo (102382) both exist on group 5165 in that form.

wom competition create \
  --title "Summer Bingo" --metric ehb \
  --starts "2026-06-13T00:00:00Z" --ends "2026-06-27T00:00:00Z" \
  --group-id 5165 --verification-code "..." \
  --team "Team Alpha=Doe Matic,Uka36" \
  --team "Team Bravo=pollieolly,Zezima"

Repeat --team once per side. = splits the name from the roster and , splits the roster: unambiguous, because an OSRS name is at most 12 characters of letters, digits, spaces and underscores and can contain neither.

Refused before the request goes out rather than left for the API to reject: --participants together with --team, a team with no players, and the same team name twice. That last one matters because WOM keys a team by name, so a duplicate would silently merge two rosters into one team instead of erroring.

Why it matters: every participation in a team competition carries teamName, so competition view gives per-team standings with no separate roster mapping. The WOM side and the Discord side of an event join on the same team names.

Also

  • First tests in this repo. The POST body is built by buildCompetitionBody, split out so it is testable with no I/O. Mutation-tested: dropping the both-set guard, sending teams under the participants key, allowing a duplicate team name, and swapping name and roster around the = each fail a named test.
  • A regression test keeps groupId numeric on the team path, so the v0.2.1 fix cannot come undone through it.
  • SKILL.md was untracked and is now committed.