The QP Discord embed's two "scoreboard" sections now reflect the whole drafted
field instead of only participants whose QP changed this sync:
- Non-scoring / Top 8 draw from a new per-league `scoreboard` (all drafted
participants), scoped to the sports season being announced so a golf pick can't
leak into a tennis event. Points Awarded / Knocked Out stay scoped to the sync's
changes and remain the only pinged sections.
- Non-scoring is now a single compact "Name (points, manager)" line below Top 8,
covering everyone not in the top 8 (the exact complement of the Top 8 filter).
- Top 8 requires qpTotal > 0 as well as rank <= 8, so early-season winless players
tied into a low rank band no longer flood the section with "T5. Name — 0 QP".
Manually setting a bracket match result (e.g. a Wimbledon semifinal) now announces
the QP update. The set-winner / set-round-winners / complete-round paths route
through processQualifyingEvent (which snapshots, diffs, and notifies) instead of
processQualifyingBracketEvent (which scored silently). The tournament fan-out still
skips the primary window via skipEventId, so mirror windows aren't double-posted.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>