From 5a8da1eaeb9434a18e553a5c50490d06b54a6a1d Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Wed, 6 Aug 2025 02:22:06 +0200 Subject: build(gokord): upgrade to latest version --- user/level.go | 24 ++++++++++++------------ user/member.go | 4 ++-- user/xp.go | 14 +++++++------- 3 files changed, 21 insertions(+), 21 deletions(-) (limited to 'user') diff --git a/user/level.go b/user/level.go index 6d9b674..82ae608 100644 --- a/user/level.go +++ b/user/level.go @@ -2,7 +2,7 @@ package user import ( "github.com/anhgelus/gokord" - "github.com/anhgelus/gokord/utils" + "github.com/anhgelus/gokord/logger" "github.com/anhgelus/les-copaings-bot/config" "github.com/anhgelus/les-copaings-bot/exp" "github.com/bwmarrin/discordgo" @@ -16,7 +16,7 @@ func onNewLevel(dg *discordgo.Session, m *discordgo.Member, level uint) { xpForLevel := exp.LevelXP(level) for _, role := range cfg.XpRoles { if role.XP <= xpForLevel && !slices.Contains(m.Roles, role.RoleID) { - utils.SendDebug( + logger.Debug( "Add role", "role_id", role.RoleID, "user_id", m.User.ID, @@ -24,10 +24,10 @@ func onNewLevel(dg *discordgo.Session, m *discordgo.Member, level uint) { ) err := dg.GuildMemberRoleAdd(m.GuildID, m.User.ID, role.RoleID) if err != nil { - utils.SendAlert("user/level.go - Adding role", err.Error(), "role_id", role.RoleID) + logger.Alert("user/level.go - Adding role", err.Error(), "role_id", role.RoleID) } } else if role.XP > xpForLevel && slices.Contains(m.Roles, role.RoleID) { - utils.SendDebug( + logger.Debug( "Remove role", "role_id", role.RoleID, "user_id", m.User.ID, @@ -35,7 +35,7 @@ func onNewLevel(dg *discordgo.Session, m *discordgo.Member, level uint) { ) err := dg.GuildMemberRoleRemove(m.GuildID, m.User.ID, role.RoleID) if err != nil { - utils.SendAlert("user/level.go - Removing role", err.Error(), "role_id", role.RoleID) + logger.Alert("user/level.go - Removing role", err.Error(), "role_id", role.RoleID) } } } @@ -44,7 +44,7 @@ func onNewLevel(dg *discordgo.Session, m *discordgo.Member, level uint) { func (c *Copaing) OnNewLevel(dg *discordgo.Session, level uint) { m, err := dg.GuildMember(c.GuildID, c.DiscordID) if err != nil { - utils.SendAlert( + logger.Alert( "user/level.go - Getting member for new level", err.Error(), "discord_id", c.DiscordID, "guild_id", c.GuildID, @@ -58,7 +58,7 @@ func PeriodicReducer(dg *discordgo.Session) { wg := &sync.WaitGroup{} var cs []*Copaing if err := gokord.DB.Find(&cs).Error; err != nil { - utils.SendAlert("user/level.go - Fetching all copaings", err.Error()) + logger.Alert("user/level.go - Fetching all copaings", err.Error()) return } cxps := make([]*cXP, len(cs)) @@ -71,7 +71,7 @@ func PeriodicReducer(dg *discordgo.Session) { defer wg.Done() xp, err := c.GetXP() if err != nil { - utils.SendAlert("user/level.go - Getting XP", err.Error(), "copaing_id", c.ID, "guild_id", c.GuildID) + logger.Alert("user/level.go - Getting XP", err.Error(), "copaing_id", c.ID, "guild_id", c.GuildID) xp = 0 } cxps[i] = &cXP{ @@ -92,25 +92,25 @@ func PeriodicReducer(dg *discordgo.Session) { Delete(&CopaingXP{}). Error if err != nil { - utils.SendAlert("user/level.go - Removing old XP", err.Error(), "guild_id", g.ID) + logger.Alert("user/level.go - Removing old XP", err.Error(), "guild_id", g.ID) } }() } wg.Wait() for i, c := range cxps { if i%50 == 49 { - utils.SendDebug("Sleeping...") + logger.Debug("Sleeping...") time.Sleep(15 * time.Second) // prevents spamming the API } oldXp := c.GetXP() xp, err := c.ToCopaing().GetXP() if err != nil { - utils.SendAlert("user/level.go - Getting XP", err.Error(), "guild_id", c.ID, "discord_id", c.DiscordID) + logger.Alert("user/level.go - Getting XP", err.Error(), "guild_id", c.ID, "discord_id", c.DiscordID) continue } if exp.Level(oldXp) != exp.Level(xp) { c.OnNewLevel(dg, exp.Level(xp)) } } - utils.SendDebug("Periodic reduce finished", "len(guilds)", len(dg.State.Guilds)) + logger.Debug("Periodic reduce finished", "len(guilds)", len(dg.State.Guilds)) } diff --git a/user/member.go b/user/member.go index 77ceb2e..a0e50fc 100644 --- a/user/member.go +++ b/user/member.go @@ -2,7 +2,7 @@ package user import ( "github.com/anhgelus/gokord" - "github.com/anhgelus/gokord/utils" + "github.com/anhgelus/gokord/logger" "time" ) @@ -34,7 +34,7 @@ const ( func GetCopaing(discordID string, guildID string) *Copaing { c := Copaing{DiscordID: discordID, GuildID: guildID} if err := c.Load(); err != nil { - utils.SendAlert( + logger.Alert( "user/member.go - Loading user", err.Error(), "discord_id", diff --git a/user/xp.go b/user/xp.go index 71a1ced..c446977 100644 --- a/user/xp.go +++ b/user/xp.go @@ -2,7 +2,7 @@ package user import ( "github.com/anhgelus/gokord" - "github.com/anhgelus/gokord/utils" + "github.com/anhgelus/gokord/logger" "github.com/anhgelus/les-copaings-bot/config" "github.com/anhgelus/les-copaings-bot/exp" "github.com/bwmarrin/discordgo" @@ -26,14 +26,14 @@ 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) + logger.Alert("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) + logger.Debug("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( + logger.Alert( "user/xp.go - Saving user", err.Error(), "xp", @@ -76,7 +76,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.ID, "guild_id", c.GuildID) + logger.Alert("user/xp.go - Scanning rows", err.Error(), "copaing_id", c.ID, "guild_id", c.GuildID) continue } xp += cxp.XP @@ -103,7 +103,7 @@ func GetBestXP(guildId string, n uint, d int) ([]CopaingAccess, error) { var c Copaing err = gokord.DB.ScanRows(rows, &c) if err != nil { - utils.SendAlert("user/xp.go - Scanning rows", err.Error(), "guild_id", guildId) + logger.Alert("user/xp.go - Scanning rows", err.Error(), "guild_id", guildId) continue } wg.Add(1) @@ -111,7 +111,7 @@ func GetBestXP(guildId string, n uint, d int) ([]CopaingAccess, error) { defer wg.Done() xp, err := c.GetXPForDays(uint(d)) if err != nil { - utils.SendAlert("user/xp.go - Fetching xp", err.Error(), "discord_id", c.DiscordID, "guild_id", guildId) + logger.Alert("user/xp.go - Fetching xp", err.Error(), "discord_id", c.DiscordID, "guild_id", guildId) return } l = append(l, &cXP{Cxp: xp, Copaing: &c}) -- cgit v1.2.3 From 026abcc07a57eeda8a08a746ad2b664e956360f3 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Mon, 18 Aug 2025 13:56:32 +0200 Subject: feat(xp): increase precision of timestamp seems like to fix periodic reducer not working --- user/level.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'user') diff --git a/user/level.go b/user/level.go index 6d9b674..9ef7372 100644 --- a/user/level.go +++ b/user/level.go @@ -86,14 +86,14 @@ func PeriodicReducer(dg *discordgo.Session) { go func() { defer wg.Done() cfg := config.GetGuildConfig(g.ID) - err := gokord.DB. + res := gokord.DB. Model(&CopaingXP{}). Where("guild_id = ? and created_at < ?", g.ID, exp.TimeStampNDaysBefore(cfg.DaysXPRemains)). - Delete(&CopaingXP{}). - Error - if err != nil { - utils.SendAlert("user/level.go - Removing old XP", err.Error(), "guild_id", g.ID) + Delete(&CopaingXP{}) + if res.Error != nil { + utils.SendAlert("user/level.go - Removing old XP", res.Error.Error(), "guild_id", g.ID) } + utils.SendDebug("Guild cleaned", "guild", g.Name, "rows affected", res.RowsAffected) }() } wg.Wait() -- cgit v1.2.3 From c04f4d9fff2e753f0477a07a9f8f43fbcba8969e Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Thu, 21 Aug 2025 14:59:23 +0200 Subject: build(go): rename module to use git.anhgelus.world instead of github --- user/level.go | 4 ++-- user/member.go | 3 ++- user/xp.go | 9 +++++---- 3 files changed, 9 insertions(+), 7 deletions(-) (limited to 'user') diff --git a/user/level.go b/user/level.go index 2b7e869..b859268 100644 --- a/user/level.go +++ b/user/level.go @@ -5,10 +5,10 @@ import ( "sync" "time" + "git.anhgelus.world/anhgelus/les-copaings-bot/config" + "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "github.com/anhgelus/gokord" "github.com/anhgelus/gokord/logger" - "github.com/anhgelus/les-copaings-bot/config" - "github.com/anhgelus/les-copaings-bot/exp" "github.com/bwmarrin/discordgo" ) diff --git a/user/member.go b/user/member.go index a0e50fc..afc94a6 100644 --- a/user/member.go +++ b/user/member.go @@ -1,9 +1,10 @@ package user import ( + "time" + "github.com/anhgelus/gokord" "github.com/anhgelus/gokord/logger" - "time" ) type Copaing struct { diff --git a/user/xp.go b/user/xp.go index c446977..d116c56 100644 --- a/user/xp.go +++ b/user/xp.go @@ -1,13 +1,14 @@ package user import ( + "slices" + "sync" + + "git.anhgelus.world/anhgelus/les-copaings-bot/config" + "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "github.com/anhgelus/gokord" "github.com/anhgelus/gokord/logger" - "github.com/anhgelus/les-copaings-bot/config" - "github.com/anhgelus/les-copaings-bot/exp" "github.com/bwmarrin/discordgo" - "slices" - "sync" ) type cXP struct { -- cgit v1.2.3 From 26643cd271b7efeaab9a00d829e182297082555c Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Thu, 21 Aug 2025 19:00:54 +0200 Subject: feat(command): user option for stats --- user/member.go | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'user') diff --git a/user/member.go b/user/member.go index afc94a6..ad8762f 100644 --- a/user/member.go +++ b/user/member.go @@ -4,7 +4,6 @@ import ( "time" "github.com/anhgelus/gokord" - "github.com/anhgelus/gokord/logger" ) type Copaing struct { @@ -35,15 +34,7 @@ const ( func GetCopaing(discordID string, guildID string) *Copaing { c := Copaing{DiscordID: discordID, GuildID: guildID} if err := c.Load(); err != nil { - logger.Alert( - "user/member.go - Loading user", - err.Error(), - "discord_id", - discordID, - "guild_id", - guildID, - ) - return nil + panic(err) } return &c } -- cgit v1.2.3 From 30ecd60b041398390f11fccdf46444fa28690bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Herg=C3=A8s?= Date: Thu, 4 Sep 2025 16:25:59 +0200 Subject: build(gokord): upgrade to latest nightly still use discordgo name before merging anhgelus/gokord with nyttikord/gokord --- user/level.go | 2 +- user/xp.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'user') diff --git a/user/level.go b/user/level.go index b859268..be7d212 100644 --- a/user/level.go +++ b/user/level.go @@ -9,7 +9,7 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "github.com/anhgelus/gokord" "github.com/anhgelus/gokord/logger" - "github.com/bwmarrin/discordgo" + discordgo "github.com/nyttikord/gokord" ) func onNewLevel(dg *discordgo.Session, m *discordgo.Member, level uint) { diff --git a/user/xp.go b/user/xp.go index d116c56..45080ea 100644 --- a/user/xp.go +++ b/user/xp.go @@ -8,7 +8,7 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "github.com/anhgelus/gokord" "github.com/anhgelus/gokord/logger" - "github.com/bwmarrin/discordgo" + discordgo "github.com/nyttikord/gokord" ) type cXP struct { -- cgit v1.2.3