From e4487c903264f930c169d98f151ebd897105dc12 Mon Sep 17 00:00:00 2001 From: Michael McCarty Date: Tue, 14 Jul 2026 19:37:07 -0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(leaderboard):=20use=20latest?= =?UTF-8?q?=20snapDate=20when=20collecting=20on=20opt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/leaderboard/leaderboard_slashcmd.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/leaderboard/leaderboard_slashcmd.go b/src/leaderboard/leaderboard_slashcmd.go index 6d0b2da3..1203e026 100644 --- a/src/leaderboard/leaderboard_slashcmd.go +++ b/src/leaderboard/leaderboard_slashcmd.go @@ -325,13 +325,17 @@ func handlePlayerOptIn(s *discordgo.Session, i *discordgo.InteractionCreate, opt guildID := i.GuildID go func() { - log.Printf("leaderboard: pulling stats for newly opted-in user %s in guild %s", userID, guildID) - if err := CollectSinglePlayer(s, userID, SnapDateNow()); err != nil { + snapDate := GetLatestSnapDate(LBContractExp) + if snapDate == "" { + snapDate = SnapDateNow() + } + log.Printf("leaderboard: pulling stats for newly opted-in user %s in guild %s with snapDate %s", userID, guildID, snapDate) + if err := CollectSinglePlayer(s, userID, snapDate); err != nil { log.Printf("leaderboard: failed to collect stats for user %s on opt-in: %v", userID, err) return } - log.Printf("leaderboard: refreshing leaderboard messages for guild %s", guildID) - PostLeaderboards(s, SnapDateNow(), guildID, "", "update", nil) + log.Printf("leaderboard: refreshing leaderboard messages for guild %s with snapDate %s", guildID, snapDate) + PostLeaderboards(s, snapDate, guildID, "", "update", nil) }() if len(types) == 1 && types[0] == OptInAll {