- Move tally hook from process_session (per-guild, gated by Logs subs)
to process_ws_replays (once per game, all guilds) via on_game_finished
- Add set_voice_channel_status permission check at /tally-claim time so
failures are immediate and visible rather than silent on every game
- Remove entitlement gate from tally_claim and tally_transfer
- Add VC tally permission section to /diagnose-perms when run in a VC
- Add 5 new locale keys to en.json for the permission messages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add a 'Voice channel tally' group to /help with the three commands.
- Add a Voice Channel Tally section to the website docs (docs.ejs).
- Translate the commands.tally bot strings + help_group_tally into all 10
other bot locales, and the new docs.* web strings into all 10 web locales.
- Fix stale need_one_input string (ign/squadron_short -> username/squadron).
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* chore(tally): remove /dev-tally testing command
Feature is verified working; drop the dev-only manual win/loss command and its now-unused apply_manual_result helper and test.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* refactor(tally): rename /tally-wipe to /tally-clear
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Rename /tally-claim and /tally-transfer options to username/squadron with
clearer descriptions. Fix /dev-tally to only apply a win/loss when the
passed username/squadron actually matches what the VC is tracking, instead
of bumping any active tally.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
PR #1223 only staged the deletions of the old paths because the new
top-level directories were still untracked when the commit was authored.
This commit adds the actual restructured tree: SREBOT/ (existing bot),
SHARED/ (vromfs, data_parser, ICONS/MAPS/FONTS, DAGOR_FILES,
update_game_files), and TSSBOT/ (skeleton).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>