diff options
Diffstat (limited to 'commands')
| -rw-r--r-- | commands/config.go | 5 | ||||
| -rw-r--r-- | commands/credits.go | 5 | ||||
| -rw-r--r-- | commands/rank.go | 28 | ||||
| -rw-r--r-- | commands/reset.go | 15 | ||||
| -rw-r--r-- | commands/stats.go | 26 | ||||
| -rw-r--r-- | commands/top.go | 15 |
6 files changed, 38 insertions, 56 deletions
diff --git a/commands/config.go b/commands/config.go index 838f7e9..cc1e942 100644 --- a/commands/config.go +++ b/commands/config.go @@ -7,7 +7,6 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/config" "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "github.com/anhgelus/gokord/cmd" - "github.com/anhgelus/gokord/logger" discordgo "github.com/nyttikord/gokord" ) @@ -15,7 +14,7 @@ const ( ConfigModify = "config_modify" ) -func Config(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) { +func Config(s *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) { cfg := config.GetGuildConfig(i.GuildID) roles := "" l := len(cfg.XpRoles) - 1 @@ -82,6 +81,6 @@ func Config(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMa ) err := resp.SetMessage(msg).IsEphemeral().Send() if err != nil { - logger.Alert("config/guild.go - Sending config", err.Error()) + s.LogError(err, "sending config") } } diff --git a/commands/credits.go b/commands/credits.go index d58547e..e5fd711 100644 --- a/commands/credits.go +++ b/commands/credits.go @@ -3,11 +3,10 @@ package commands import ( "github.com/anhgelus/gokord" "github.com/anhgelus/gokord/cmd" - "github.com/anhgelus/gokord/logger" discordgo "github.com/nyttikord/gokord" ) -func Credits(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) { +func Credits(s *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) { msg := "**Les Copaings**, le bot gérant les serveurs privés de [anhgelus](<https://anhgelus.world/>).\n" msg += "Code source : <https://git.anhgelus.world/anhgelus/les-copaings-bot>\n\n" msg += "Host du bot : " + gokord.BaseCfg.GetAuthor() + ".\n\n" @@ -15,6 +14,6 @@ func Credits(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionM msg += "- [Inter](<https://github.com/rsms/inter>)" err := resp.SetMessage(msg).Send() if err != nil { - logger.Alert("commands/credits.go - Sending credits", err.Error(), "guild_id", i.GuildID) + s.LogError(err, "sending credits") } } diff --git a/commands/rank.go b/commands/rank.go index 0adfde6..d3a9f70 100644 --- a/commands/rank.go +++ b/commands/rank.go @@ -6,7 +6,6 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "git.anhgelus.world/anhgelus/les-copaings-bot/user" "github.com/anhgelus/gokord/cmd" - "github.com/anhgelus/gokord/logger" discordgo "github.com/nyttikord/gokord" ) @@ -20,22 +19,16 @@ func Rank(s *discordgo.Session, i *discordgo.InteractionCreate, optMap cmd.Optio if u.Bot { err = resp.SetMessage("Imagine si les bots avaient un niveau :rolling_eyes:").IsEphemeral().Send() if err != nil { - logger.Alert("commands/rank.go - Reply error user is a bot", err.Error()) + s.LogError(err, "reply error user is a bot") } + return } m, err = s.GuildAPI().Member(i.GuildID, u.ID) if err != nil { - logger.Alert( - "commands/rank.go - Fetching guild member", - err.Error(), - "discord_id", - u.ID, - "guild_id", - i.GuildID, - ) + s.LogError(err, "Fetching guild member %s in %s", u.Username, i.GuildID) err = resp.SetMessage("Erreur : impossible de récupérer le membre").IsEphemeral().Send() if err != nil { - logger.Alert("commands/rank.go - Reply error fetching guild member", err.Error()) + s.LogError(err, "reply error fetching guild member") } return } @@ -44,17 +37,10 @@ func Rank(s *discordgo.Session, i *discordgo.InteractionCreate, optMap cmd.Optio } xp, err := c.GetXP() if err != nil { - logger.Alert( - "commands/rank.go - Fetching xp", - err.Error(), - "discord_id", - c.ID, - "guild_id", - i.GuildID, - ) + s.LogError(err, "fetching xp for copaing %s in %s", c.ID, i.GuildID) err = resp.SetMessage("Erreur : impossible de récupérer l'XP").IsEphemeral().Send() if err != nil { - logger.Alert("commands/rank.go - Reply error fetching xp", err.Error()) + s.LogError(err, "reply error fetching xp") } return } @@ -68,6 +54,6 @@ func Rank(s *discordgo.Session, i *discordgo.InteractionCreate, optMap cmd.Optio nxtLvlXP-xp, )).Send() if err != nil { - logger.Alert("commands/rank.go - Sending rank", err.Error()) + s.LogError(err, "sending rank") } } diff --git a/commands/reset.go b/commands/reset.go index f50bb21..77561c1 100644 --- a/commands/reset.go +++ b/commands/reset.go @@ -4,15 +4,14 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/user" "github.com/anhgelus/gokord" "github.com/anhgelus/gokord/cmd" - "github.com/anhgelus/gokord/logger" discordgo "github.com/nyttikord/gokord" ) -func Reset(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) { +func Reset(s *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) { var copaings []*user.Copaing gokord.DB.Where("guild_id = ?", i.GuildID).Delete(&copaings) if err := resp.IsEphemeral().SetMessage("L'XP a été reset.").Send(); err != nil { - logger.Alert("commands/reset.go - Sending success (all)", err.Error()) + s.LogError(err, "sending reset success") } } @@ -21,26 +20,26 @@ func ResetUser(s *discordgo.Session, i *discordgo.InteractionCreate, optMap cmd. v, ok := optMap["user"] if !ok { if err := resp.SetMessage("Le user n'a pas été renseigné.").Send(); err != nil { - logger.Alert("commands/reset.go - Copaing not set", err.Error()) + s.LogError(err, "sending error copaing not set") } return } m := v.UserValue(s.UserAPI()) if m.Bot { if err := resp.SetMessage("Les bots n'ont pas de niveau :upside_down:").Send(); err != nil { - logger.Alert("commands/reset.go - Copaing not set", err.Error()) + s.LogError(err, "sending error bot does not have xp") } return } err := user.GetCopaing(m.ID, i.GuildID).Delete() if err != nil { - logger.Alert("commands/reset.go - Copaing not deleted", err.Error(), "discord_id", m.ID, "guild_id", i.GuildID) + s.LogError(err, "deleting copaings %s in %s", m.Username, i.GuildID) err = resp.SetMessage("Erreur : impossible de reset l'utilisateur").Send() if err != nil { - logger.Alert("commands/reset.go - Error deleting", err.Error()) + s.LogError(err, "sending error while deleting") } } if err = resp.SetMessage("Le user bien été reset.").Send(); err != nil { - logger.Alert("commands/reset.go - Sending success (user)", err.Error()) + s.LogError(err, "sending reset success") } } diff --git a/commands/stats.go b/commands/stats.go index 1a7a379..e2c2ba4 100644 --- a/commands/stats.go +++ b/commands/stats.go @@ -15,7 +15,6 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/user" "github.com/anhgelus/gokord" "github.com/anhgelus/gokord/cmd" - "github.com/anhgelus/gokord/logger" "github.com/jackc/pgx/v5/pgtype" discordgo "github.com/nyttikord/gokord" "github.com/nyttikord/gokord/channel" @@ -53,7 +52,7 @@ func Stats(s *discordgo.Session, i *discordgo.InteractionCreate, opt cmd.OptionM if in < 1 || uint(in) > cfg.DaysXPRemains { msg := fmt.Sprintf("Nombre de jours invalide. Il doit être strictement positif et inférieur à %d", cfg.DaysXPRemains) if err := resp.SetMessage(msg).IsEphemeral().Send(); err != nil { - logger.Alert("commands/stats.go - Sending invalid days", err.Error()) + s.LogError(err, "sending error invalid days") } return } @@ -61,7 +60,7 @@ func Stats(s *discordgo.Session, i *discordgo.InteractionCreate, opt cmd.OptionM } err := resp.IsDeferred().Send() if err != nil { - logger.Alert("commands/stats.go - Sending deferred", err.Error()) + s.LogError(err, "sending deferred") return } go func() { @@ -72,15 +71,16 @@ func Stats(s *discordgo.Session, i *discordgo.InteractionCreate, opt cmd.OptionM w, err = statsAll(s, i, days) } if err != nil { + s.LogError(err, "generating stats in %s", i.GuildID) if err = resp.IsEphemeral().SetMessage("Il y a eu une erreur...").Send(); err != nil { - logger.Alert("commands/stats.go - Sending error occurred", err.Error()) + s.LogError(err, "sending error occurred") } return } b := new(bytes.Buffer) _, err = w.WriteTo(b) if err != nil { - logger.Alert("commands/stats.go - Writing png", err.Error()) + s.LogError(err, "writing png") } err = resp.AddFile(&channel.File{ Name: "plot.png", @@ -88,7 +88,7 @@ func Stats(s *discordgo.Session, i *discordgo.InteractionCreate, opt cmd.OptionM Reader: b, }).Send() if err != nil { - logger.Alert("commands/stats.go - Sending response", err.Error()) + s.LogError(err, "sending stats") } }() } @@ -117,7 +117,7 @@ func stats(s *discordgo.Session, i *discordgo.InteractionCreate, days int, execS if gokord.Debug { var rawCopaingData []*user.CopaingXP if err := execSql("SELECT * FROM copaing_xps ", "").Scan(&rawCopaingData).Error; err != nil { - logger.Alert("commands/stats.go - Fetching result", err.Error()) + s.LogError(err, "fetching result") return nil, err } rawData = make([]*data, len(rawCopaingData)) @@ -133,7 +133,7 @@ func stats(s *discordgo.Session, i *discordgo.InteractionCreate, days int, execS if err := execSql( `SELECT "created_at"::date::text, sum("xp") as xp, "copaing_id" FROM copaing_xps `, ` GROUP BY "created_at"::date, "copaing_id"`, ).Scan(&rawDbData).Error; err != nil { - logger.Alert("commands/stats.go - Fetching result", err.Error()) + s.LogError(err, "fetching result") return nil, err } rawData = make([]*data, len(rawDbData)) @@ -155,10 +155,10 @@ func stats(s *discordgo.Session, i *discordgo.InteractionCreate, days int, execS var cp user.Copaing if err := gokord.DB.First(&cp, raw.CopaingID).Error; err != nil { if !errors.Is(err, gorm.ErrRecordNotFound) { - logger.Alert("commands/stats.go - Finding copaing", err.Error(), "id", raw.CopaingID) + s.LogError(err, "finding copaing %d", raw.CopaingID) return nil, err } - logger.Warn("Copaing not found, skipping entry", "old_id", raw.CopaingID) + s.LogWarn("Copaing %d not found, skipping", raw.CopaingID) continue } copaings[raw.CopaingID] = &cp @@ -202,7 +202,7 @@ func generatePlot(s *discordgo.Session, i *discordgo.InteractionCreate, copaings for in, c := range copaings { m, err := s.GuildAPI().Member(i.GuildID, c.DiscordID) if err != nil { - logger.Alert("commands/stats.go - Fetching guild member", err.Error()) + s.LogError(err, "fetching guild member") return nil, err } slices.SortFunc(stats[in], func(a, b plotter.XY) int { @@ -216,7 +216,7 @@ func generatePlot(s *discordgo.Session, i *discordgo.InteractionCreate, copaings }) l, _, err := plotter.NewLinePoints(plotter.XYs(stats[in])) if err != nil { - logger.Alert("commands/stats.go - Adding line points", err.Error()) + s.LogError(err, "adding line points") return nil, err } l.Color = colors[cnt%len(colors)] @@ -226,7 +226,7 @@ func generatePlot(s *discordgo.Session, i *discordgo.InteractionCreate, copaings } w, err := p.WriterTo(8*vg.Inch, 6*vg.Inch, "png") if err != nil { - logger.Alert("commands/stats.go - Generating png", err.Error()) + s.LogError(err, "generating png") return nil, err } return w, nil diff --git a/commands/top.go b/commands/top.go index 21a1456..195ee9b 100644 --- a/commands/top.go +++ b/commands/top.go @@ -8,34 +8,33 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "git.anhgelus.world/anhgelus/les-copaings-bot/user" "github.com/anhgelus/gokord/cmd" - "github.com/anhgelus/gokord/logger" discordgo "github.com/nyttikord/gokord" "github.com/nyttikord/gokord/channel" ) -func Top(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) { +func Top(s *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) { err := resp.IsDeferred().Send() if err != nil { - logger.Alert("commands/top.go - Sending deferred", err.Error()) + s.LogError(err, "sending deferred") return } embeds := make([]*channel.MessageEmbed, 3) wg := sync.WaitGroup{} - fn := func(s string, n uint, d int, id int) { + fn := func(str string, n uint, d int, id int) { defer wg.Done() tops, err := user.GetBestXP(i.GuildID, n, d) if err != nil { - logger.Alert("commands/top.go - Fetching best xp", err.Error(), "n", n, "d", d, "id", id, "guild_id", i.GuildID) + s.LogError(err, "fetching best xp, n: %d, d: %d, id: %d, guild: %s", n, d, id, i.GuildID) embeds[id] = &channel.MessageEmbed{ - Title: s, + Title: str, Description: "Erreur : impossible de récupérer la liste", Color: 0x831010, } return } embeds[id] = &channel.MessageEmbed{ - Title: s, + Title: str, Description: genTopsMessage(tops), Color: 0x10E6AD, } @@ -60,7 +59,7 @@ func Top(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, } err = resp.Send() if err != nil { - logger.Alert("commands/top.go - Sending response top", err.Error()) + s.LogError(err, "sending response top") } }() } |
