aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker-compose.yml9
-rw-r--r--user/xp.go11
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