Auto merge dev → main (#1339)
* feat(tally): /tally-claim, /tally-transfer, /tally-wipe commands Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat(tally): idle sweep, startup load, and empty-VC expiry Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * style(tally): parenthesize voice-state guard for clarity Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat(tally): update live tallies when sessions finish Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(tally): robust winner matching + cleanup of deleted-VC tallies Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat(tally): /dev-tally to manually attribute a win/loss in your VC Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -67,6 +67,7 @@ from .utils import (
|
||||
WILDCARD_KEYS,
|
||||
)
|
||||
from .wl import record_result, record_draw, get_standings
|
||||
from . import tally
|
||||
|
||||
|
||||
# ============================================================================
|
||||
@@ -1131,6 +1132,14 @@ async def process_session(
|
||||
else:
|
||||
new_wl = get_standings(squadrons_clean)
|
||||
|
||||
# Update any live voice-channel tallies for this guild against this game.
|
||||
try:
|
||||
await tally.on_session_processed(
|
||||
guild_id, teams, winner, is_draw, session_id
|
||||
)
|
||||
except Exception as e:
|
||||
logging.error(f"[TALLY] hook failed for session {session_id}: {e}")
|
||||
|
||||
# Scoreboard Build
|
||||
lock = _scoreboard_locks.setdefault(session_id, asyncio.Lock())
|
||||
async with lock:
|
||||
|
||||
Reference in New Issue
Block a user