aboutsummaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
Diffstat (limited to 'user')
-rw-r--r--user/level.go22
-rw-r--r--user/xp.go9
2 files changed, 14 insertions, 17 deletions
diff --git a/user/level.go b/user/level.go
index 41fb291..feec35b 100644
--- a/user/level.go
+++ b/user/level.go
@@ -13,32 +13,26 @@ import (
"github.com/nyttikord/gokord/user"
)
-func onNewLevel(s bot.Session, m *user.Member, level uint) {
+func onNewLevel(ctx context.Context, s bot.Session, m *user.Member, level uint) {
cfg := config.GetGuildConfig(m.GuildID)
xpForLevel := exp.LevelXP(level)
for _, role := range cfg.XpRoles {
if role.XP <= xpForLevel && !slices.Contains(m.Roles, role.RoleID) {
- s.Logger().Debug("add role", "role", role.RoleID, "user", m.DisplayName(), "guild", m.GuildID)
+ bot.Logger(ctx).Debug("add role", "role", role.RoleID, "user", m.DisplayName(), "guild", m.GuildID)
err := s.GuildAPI().MemberRoleAdd(m.GuildID, m.User.ID, role.RoleID)
if err != nil {
- s.Logger().Error(
+ bot.Logger(ctx).Error(
"adding role",
- "error", err,
- "role", role.RoleID,
- "user", m.DisplayName(),
- "guild", m.GuildID,
+ "error", err, "role", role.RoleID, "user", m.DisplayName(), "guild", m.GuildID,
)
}
} else if role.XP > xpForLevel && slices.Contains(m.Roles, role.RoleID) {
- s.Logger().Debug("remove role", "role", role.RoleID, "user", m.DisplayName(), "guild", m.GuildID)
+ bot.Logger(ctx).Debug("remove role", "role", role.RoleID, "user", m.DisplayName(), "guild", m.GuildID)
err := s.GuildAPI().MemberRoleRemove(m.GuildID, m.User.ID, role.RoleID)
if err != nil {
- s.Logger().Error(
+ bot.Logger(ctx).Error(
"removing role",
- "error", err,
- "role", role.RoleID,
- "user", m.DisplayName(),
- "guild", m.GuildID,
+ "error", err, "role", role.RoleID, "user", m.DisplayName(), "guild", m.GuildID,
)
}
}
@@ -51,7 +45,7 @@ func (c *CopaingCached) onNewLevel(ctx context.Context, s bot.Session, level uin
bot.Logger(ctx).Error("getting member for new level", "error", err, "user", c.DiscordID, "guild", c.GuildID)
return
}
- onNewLevel(s, m, level)
+ onNewLevel(ctx, s, m, level)
}
func PeriodicReducer(ctx context.Context, s bot.Session) {
diff --git a/user/xp.go b/user/xp.go
index 161a450..ca08258 100644
--- a/user/xp.go
+++ b/user/xp.go
@@ -26,17 +26,20 @@ func (c *cXP) GetXP() uint {
func (cc *CopaingCached) AddXP(ctx context.Context, s bot.Session, m *user.Member, xp uint, fn func(uint, uint)) {
old := cc.XP
pastLevel := exp.Level(old)
- s.Logger().Debug("adding xp", "user", m.DisplayName(), "old", old, "to add", xp)
+ bot.Logger(ctx).Debug("adding xp", "user", m.DisplayName(), "old", old, "to add", xp)
cc.XP += xp
cc.XPToAdd += xp
if err := cc.Save(ctx); err != nil {
- s.Logger().Error("saving user in state", "error", err, "user", m.DisplayName(), "xp", xp, "guild", cc.GuildID)
+ bot.Logger(ctx).Error(
+ "saving user in state",
+ "error", err, "user", m.DisplayName(), "xp", xp, "guild", cc.GuildID,
+ )
return
}
newLevel := exp.Level(old + xp)
if newLevel > pastLevel {
fn(old+xp, newLevel)
- onNewLevel(s, m, newLevel)
+ onNewLevel(ctx, s, m, newLevel)
}
}