From 067e149e72da10790e347b82045d82a96397d6cf Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Tue, 13 May 2025 17:18:33 +0200 Subject: [PATCH] fix(db): using discord_id instead of db's id --- docker-compose.yml | 9 ++++++++- user/xp.go | 11 ++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index e6b9b89..2575340 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,7 @@ services: bot: build: . + restart: always env_file: - .env volumes: @@ -15,4 +16,10 @@ services: env_file: - .env volumes: - - ./data:/var/lib/postgresql/data \ No newline at end of file + - ./data:/var/lib/postgresql/data + adminer: + image: docker.io/adminer + ports: + - "8080:8080" + depends_on: + - postgres diff --git a/user/xp.go b/user/xp.go index fca5754..7501139 100644 --- a/user/xp.go +++ b/user/xp.go @@ -27,7 +27,12 @@ func (c *cXP) GetXP() uint { func (c *Copaing) AddXP(s *discordgo.Session, m *discordgo.Member, xp uint, fn func(uint, uint)) { old, err := c.GetXP() + if err != nil { + utils.SendAlert("user/xp.go - Getting xp", err.Error(), "discord_id", c.DiscordID, "guild_id", c.GuildID) + return + } pastLevel := exp.Level(old) + utils.SendDebug("Adding xp", "member", m.DisplayName(), "old xp", old, "xp to add", xp, "old level", pastLevel) c.CopaingXPs = append(c.CopaingXPs, CopaingXP{CopaingID: c.ID, XP: xp, GuildID: c.GuildID}) if err = c.Save(); err != nil { utils.SendAlert( @@ -59,13 +64,13 @@ func (c *Copaing) GetXPForDays(n uint) (uint, error) { var y, d int var m time.Month if gokord.Debug { - y, m, d = time.Unix(time.Now().Unix()-int64(n*24), 0).Date() // reduce time for debug + y, m, d = time.Unix(time.Now().Unix()-int64(24*60*60), 0).Date() // reduce time for debug } else { y, m, d = time.Unix(time.Now().Unix()-int64(n*24*60*60), 0).Date() } rows, err := gokord.DB. Model(&CopaingXP{}). - Where(fmt.Sprintf("created_at >= '%d-%d-%d' and guild_id = ? and copaing_id = ?", y, m, d), c.GuildID, c.DiscordID). + Where(fmt.Sprintf("created_at >= '%d-%d-%d' and guild_id = ? and copaing_id = ?", y, m, d), c.GuildID, c.ID). Rows() defer rows.Close() if err != nil { @@ -75,7 +80,7 @@ func (c *Copaing) GetXPForDays(n uint) (uint, error) { var cXP CopaingXP err = gokord.DB.ScanRows(rows, &cXP) if err != nil { - utils.SendAlert("user/xp.go - Scanning rows", err.Error(), "copaing_id", c.DiscordID, "guild_id", c.GuildID) + utils.SendAlert("user/xp.go - Scanning rows", err.Error(), "copaing_id", c.ID, "guild_id", c.GuildID) continue } xp += cXP.XP