From 3bcf74c47d1597ba650dc5a55868f83f5f547ad7 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Sun, 8 Mar 2026 14:12:03 +0100 Subject: feat(user): leave gorm --- user/level.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'user/level.go') diff --git a/user/level.go b/user/level.go index 012f253..26cf03f 100644 --- a/user/level.go +++ b/user/level.go @@ -6,6 +6,7 @@ import ( "sync" "time" + "git.anhgelus.world/anhgelus/les-copaings-bot/common" "git.anhgelus.world/anhgelus/les-copaings-bot/config" "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "github.com/nyttikord/gokord/bot" @@ -40,9 +41,9 @@ func onNewLevel(ctx context.Context, dg bot.Session, m *user.Member, level uint) } func (c *CopaingCached) onNewLevel(ctx context.Context, dg bot.Session, level uint) { - m, err := guild.GetMember(c.GuildID, c.DiscordID).Do(ctx) + m, err := guild.GetMember(c.GuildID, c.ID).Do(ctx) if err != nil { - bot.Logger(ctx).Error("getting member for new level", "error", err, "user", c.DiscordID, "guild", c.GuildID) + bot.Logger(ctx).Error("getting member for new level", "error", err, "user", c.ID, "guild", c.GuildID) return } onNewLevel(ctx, dg, m, level) @@ -59,17 +60,18 @@ func PeriodicReducer(ctx context.Context, dg bot.Session) { n := 0 var wg sync.WaitGroup for _, g := range dg.GuildState().ListGuilds() { - /*cfg := config.GetGuildConfig(ctx, g) - res := common.GetDB(ctx). - Model(&CopaingXP{}). - Where("guild_id = ? and created_at < ?", g, exp.TimeStampNDaysBefore(ctx, cfg.DaysXPRemains)). - Delete(&CopaingXP{}) - if res.Error != nil { - log.Error("removing old xp", "error", res.Error, "guild", g) + cfg := config.GetGuildConfig(ctx, g) + res, err := common.GetDB(ctx).ExecContext( + ctx, + `DELETE FROM copaing_xps WHERE guild_id = ? and created_at < ?`, + g, exp.TimeStampNDaysBefore(ctx, cfg.DaysXPRemains), + ) + if err != nil { + log.Error("removing old xp", "error", err, "guild", g) continue } n++ - log.Debug("guild cleaned", "guild", g, "rows affected", res.RowsAffected)*/ + log.Debug("guild cleaned", "guild", g, "rows affected", res.RowsAffected) wg.Go(func() { syncCopaings(ctx, dg, state.Copaings(g)) -- cgit v1.2.3