aboutsummaryrefslogtreecommitdiff
path: root/commands
diff options
context:
space:
mode:
authorWilliam Hergès <william@herges.fr>2026-01-17 21:50:54 +0100
committerWilliam Hergès <william@herges.fr>2026-01-17 21:50:54 +0100
commitc661541e45dddd6a082af66fcf7df7ba7dfdc6a6 (patch)
tree318b29652c4f59a7f6a16ff7a566b1a9935d069d /commands
parentec5cfa632eeb607351f67bad6686ec872291bd61 (diff)
perf(command): store data used by top in state
Diffstat (limited to 'commands')
-rw-r--r--commands/rank.go7
-rw-r--r--commands/top.go11
2 files changed, 5 insertions, 13 deletions
diff --git a/commands/rank.go b/commands/rank.go
index c65c758..3a017f6 100644
--- a/commands/rank.go
+++ b/commands/rank.go
@@ -38,15 +38,12 @@ func Rank(ctx context.Context) func(s bot.Session, i *event.InteractionCreate, o
c = user.GetCopaing(ctx, u.ID, i.GuildID) // current user = member targeted by member who wrote /rank
msg = fmt.Sprintf("Le niveau de %s", m.DisplayName())
}
- xp := c.XPs
+ xp := c.XP
lvl := exp.Level(xp)
nxtLvlXP := exp.LevelXP(lvl + 1)
err = resp.SetMessage(fmt.Sprintf(
"%s : **%d**\n> XP : %d\n> Prochain niveau dans %d XP",
- msg,
- lvl,
- xp,
- nxtLvlXP-xp,
+ msg, lvl, xp, nxtLvlXP-xp,
)).Send()
if err != nil {
s.Logger().Error("sending rank", "error", err)
diff --git a/commands/top.go b/commands/top.go
index fa12a66..99c8f16 100644
--- a/commands/top.go
+++ b/commands/top.go
@@ -16,17 +16,12 @@ import (
func Top(ctx context.Context) func(s bot.Session, i *event.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) {
return func(s bot.Session, i *event.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) {
- err := resp.IsDeferred().Send()
- if err != nil {
- s.Logger().Error("sending deferred", "error", err)
- return
- }
embeds := make([]*channel.MessageEmbed, 3)
wg := sync.WaitGroup{}
fn := func(str string, n uint, d int, id int) {
defer wg.Done()
- tops, err := user.GetBestXP(ctx, s.Logger(), i.GuildID, n, d)
+ tops, err := user.GetBestXP(ctx, i.GuildID, n, d)
if err != nil {
s.Logger().Error("fetching best xp", "error", err, "n", n, "d", d, "id", id, "guild", i.GuildID)
embeds[id] = &channel.MessageEmbed{
@@ -60,7 +55,7 @@ func Top(ctx context.Context) func(s bot.Session, i *event.InteractionCreate, _
resp.AddEmbed(embeds[1]).
AddEmbed(embeds[2])
}
- err = resp.Send()
+ err := resp.Send()
if err != nil {
s.Logger().Error("sending response top", "error", err)
}
@@ -71,7 +66,7 @@ func Top(ctx context.Context) func(s bot.Session, i *event.InteractionCreate, _
func genTopsMessage(tops []user.CopaingCached) string {
msg := ""
for i, c := range tops {
- msg += fmt.Sprintf("%d. **<@%s>** - niveau %d", i+1, c.DiscordID, exp.Level(c.XPs))
+ msg += fmt.Sprintf("%d. **<@%s>** - niveau %d", i+1, c.DiscordID, exp.Level(c.XP))
if i != len(tops)-1 {
msg += "\n"
}