From ad8f65fec5c7e1e0ec0b3d4e992ffc67a0357661 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Thu, 11 Sep 2025 12:58:03 +0200 Subject: feat(db): remove xp when copaing leaves --- events.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'events.go') diff --git a/events.go b/events.go index 6f15fd8..abf9d03 100644 --- a/events.go +++ b/events.go @@ -8,6 +8,7 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/config" "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "git.anhgelus.world/anhgelus/les-copaings-bot/user" + "github.com/anhgelus/gokord" "github.com/anhgelus/gokord/logger" discordgo "github.com/nyttikord/gokord" ) @@ -122,7 +123,18 @@ func OnLeave(_ *discordgo.Session, e *discordgo.GuildMemberRemove) { return } c := user.GetCopaing(e.User.ID, e.GuildID) - if err := c.Delete(); err != nil { + err := gokord.DB. + Where("copaing_id = ? and guild_id = ?", c.ID, e.GuildID). + Delete(&user.CopaingXP{}). + Error + if err != nil { + logger.Alert( + "events.go - deleting user xp from db", err.Error(), + "user_id", e.User.ID, + "guild_id", e.GuildID, + ) + } + if err = c.Delete(); err != nil { logger.Alert( "events.go - deleting user from db", err.Error(), "user_id", e.User.ID, -- cgit v1.2.3