fix(db): using discord_id instead of db's id

This commit is contained in:
Anhgelus Morhtuuzh 2025-05-13 17:18:33 +02:00
parent 61c7bf4567
commit 067e149e72
Signed by: anhgelus
GPG key ID: CAD341EFA92DDDE5
2 changed files with 16 additions and 4 deletions

View file

@ -1,6 +1,7 @@
services:
bot:
build: .
restart: always
env_file:
- .env
volumes:
@ -16,3 +17,9 @@ services:
- .env
volumes:
- ./data:/var/lib/postgresql/data
adminer:
image: docker.io/adminer
ports:
- "8080:8080"
depends_on:
- postgres

View file

@ -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