aboutsummaryrefslogtreecommitdiff
path: root/commands
diff options
context:
space:
mode:
authorAnhgelus Morhtuuzh <william@herges.fr>2025-08-21 12:54:52 +0000
committerAnhgelus Morhtuuzh <william@herges.fr>2025-08-21 12:54:52 +0000
commit166aadabfb37a1a565bb8d46241682c709b1c4db (patch)
treebc77b8e3f7a7599ad272fcc3c0032f3258ff7cd7 /commands
parent026abcc07a57eeda8a08a746ad2b664e956360f3 (diff)
parent15448aa0014e1473582227e2ea301df7ccfb9560 (diff)
Merge pull request '[Refactor] Config command' (#1) from refactor/config-command into main
Reviewed-on: https://git.anhgelus.world/anhgelus/les-copaings-bot/pulls/1
Diffstat (limited to 'commands')
-rw-r--r--commands/config.go393
-rw-r--r--commands/credits.go9
-rw-r--r--commands/rank.go17
-rw-r--r--commands/reset.go19
-rw-r--r--commands/top.go15
5 files changed, 109 insertions, 344 deletions
diff --git a/commands/config.go b/commands/config.go
index 48d7ab8..b62d413 100644
--- a/commands/config.go
+++ b/commands/config.go
@@ -2,15 +2,21 @@ package commands
import (
"fmt"
- "github.com/anhgelus/gokord"
- "github.com/anhgelus/gokord/utils"
+ "strings"
+
+ "github.com/anhgelus/gokord/cmd"
+ "github.com/anhgelus/gokord/component"
+ "github.com/anhgelus/gokord/logger"
"github.com/anhgelus/les-copaings-bot/config"
"github.com/anhgelus/les-copaings-bot/exp"
"github.com/bwmarrin/discordgo"
- "strings"
)
-func ConfigShow(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.OptionMap, resp *utils.ResponseBuilder) {
+const (
+ ConfigModify = "config_modify"
+)
+
+func Config(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) {
cfg := config.GetGuildConfig(i.GuildID)
roles := ""
l := len(cfg.XpRoles) - 1
@@ -43,318 +49,73 @@ func ConfigShow(s *discordgo.Session, i *discordgo.InteractionCreate, optMap uti
} else {
defaultChan = fmt.Sprintf("<#%s>", cfg.FallbackChannel)
}
- err := resp.AddEmbed(&discordgo.MessageEmbed{
- Type: discordgo.EmbedTypeRich,
- Title: "Config",
- Color: utils.Success,
- Fields: []*discordgo.MessageEmbedField{
- {
- Name: "Salon par défaut",
- Value: defaultChan,
- Inline: false,
- },
- {
- Name: "Rôles liés aux niveaux",
- Value: roles,
- Inline: false,
- },
- {
- Name: "Salons désactivés",
- Value: chans,
- Inline: false,
- },
- {
- Name: "Jours avant la réduction",
- Value: fmt.Sprintf("%d", cfg.DaysXPRemains),
- Inline: false,
- },
- },
- }).Send()
- if err != nil {
- utils.SendAlert("config/guild.go - Sending config", err.Error())
- }
-}
-
-func ConfigXP(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.OptionMap, resp *utils.ResponseBuilder) {
- resp.IsEphemeral()
- // verify every args
- t, ok := optMap["type"]
- if !ok {
- err := resp.SetMessage("Le type d'action n'a pas été renseigné.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Action type not set", err.Error())
- }
- return
- }
- ts := t.StringValue()
- lvl, ok := optMap["level"]
- if !ok {
- err := resp.SetMessage("Le niveau n'a pas été renseigné.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Level not set", err.Error())
- }
- return
- }
- level := lvl.IntValue()
- if level < 1 {
- err := resp.SetMessage("Le niveau doit forcément être supérieur à 0.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Invalid level", err.Error())
- }
- return
- }
- xp := exp.LevelXP(uint(level))
- r, ok := optMap["role"]
- if !ok {
- err := resp.SetMessage("Le rôle n'a pas été renseigné.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Role not set", err.Error())
- }
- return
- }
- role := r.RoleValue(s, i.GuildID)
- cfg := config.GetGuildConfig(i.GuildID)
-
- // add or delete or edit
- var err error
- switch ts {
- case "add":
- for _, r := range cfg.XpRoles {
- if r.RoleID == role.ID {
- err = resp.SetMessage("Le rôle est déjà présent dans la config").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Role already in config", err.Error())
- }
- return
- }
- }
- cfg.XpRoles = append(cfg.XpRoles, config.XpRole{
- XP: xp,
- RoleID: role.ID,
- })
- err = cfg.Save()
- if err != nil {
- utils.SendAlert(
- "commands/config.go - Saving config",
- err.Error(),
- "guild_id",
- i.GuildID,
- "role_id",
- role.ID,
- "type",
- "add",
- )
- }
- case "del":
- _, r := cfg.FindXpRole(role.ID)
- if r == nil {
- err = resp.SetMessage("Le rôle n'a pas été trouvé dans la config.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Role not found (del)", err.Error())
- }
- return
- }
- err = gokord.DB.Delete(r).Error
- if err != nil {
- utils.SendAlert(
- "commands/config.go - Deleting entry",
- err.Error(),
- "guild_id",
- i.GuildID,
- "role_id",
- role.ID,
- "type",
- "del",
- )
- }
- case "edit":
- _, r := cfg.FindXpRole(role.ID)
- if r == nil {
- err = resp.SetMessage("Le rôle n'a pas été trouvé dans la config.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Role not found (edit)", err.Error())
- }
- return
- }
- r.XP = xp
- err = gokord.DB.Save(r).Error
- if err != nil {
- utils.SendAlert(
- "commands/config.go - Saving config",
- err.Error(),
- "guild_id",
- i.GuildID,
- "role_id",
- role.ID,
- "type",
- "edit",
- )
- }
- default:
- err = resp.SetMessage("Le type d'action n'est pas valide.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Invalid action type", err.Error())
- }
- return
- }
- if err != nil {
- err = resp.SetMessage("Il y a eu une erreur lors de la modification de de la base de données.").Send()
- } else {
- err = resp.SetMessage("La configuration a bien été mise à jour.").Send()
- }
- if err != nil {
- utils.SendAlert("commands/config.go - Config updated message", err.Error())
- }
-}
-
-func ConfigChannel(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.OptionMap, resp *utils.ResponseBuilder) {
- resp.IsEphemeral()
- // verify every args
- t, ok := optMap["type"]
- if !ok {
- err := resp.SetMessage("Le type d'action n'a pas été renseigné.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Action type not set", err.Error())
- }
- return
- }
- ts := t.StringValue()
- salon, ok := optMap["channel"]
- if !ok {
- err := resp.SetMessage("Le salon n'a pas été renseigné.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Channel not set (disabled)", err.Error())
- }
- return
- }
- channel := salon.ChannelValue(s)
- cfg := config.GetGuildConfig(i.GuildID)
- switch ts {
- case "add":
- if strings.Contains(cfg.DisabledChannels, channel.ID) {
- err := resp.SetMessage("Le salon est déjà dans la liste des salons désactivés").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Channel already disabled", err.Error())
- }
- return
- }
- cfg.DisabledChannels += channel.ID + ";"
- case "del":
- if !strings.Contains(cfg.DisabledChannels, channel.ID) {
- err := resp.SetMessage("Le salon n'est pas désactivé").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Channel not disabled", err.Error())
- }
- return
- }
- cfg.DisabledChannels = strings.ReplaceAll(cfg.DisabledChannels, channel.ID+";", "")
- default:
- err := resp.SetMessage("Le type d'action n'est pas valide.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Invalid action type", err.Error())
- }
- return
- }
- // save
- err := cfg.Save()
- if err != nil {
- utils.SendAlert(
- "commands/config.go - Saving config",
- err.Error(),
- "guild_id",
- i.GuildID,
- "type",
- ts,
- "channel_id",
- channel.ID,
- )
- err = resp.SetMessage("Il y a eu une erreur lors de la modification de de la base de données.").Send()
- } else {
- err = resp.SetMessage("Modification sauvegardé.").Send()
- }
- if err != nil {
- utils.SendAlert("commands/config.go - Modification saved message", err.Error())
- }
-}
-
-func ConfigFallbackChannel(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.OptionMap, resp *utils.ResponseBuilder) {
- resp.IsEphemeral()
- // verify every args
- salon, ok := optMap["channel"]
- if !ok {
- err := resp.SetMessage("Le salon n'a pas été renseigné.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Channel not set (fallback)", err.Error())
- }
- return
- }
- channel := salon.ChannelValue(s)
- if channel.Type != discordgo.ChannelTypeGuildText {
- err := resp.SetMessage("Le salon n'est pas un salon textuel.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Invalid channel type", err.Error())
- }
- return
- }
- cfg := config.GetGuildConfig(i.GuildID)
- cfg.FallbackChannel = channel.ID
- // save
- err := cfg.Save()
- if err != nil {
- utils.SendAlert(
- "commands/config.go - Saving config",
- err.Error(),
- "guild_id",
- i.GuildID,
- "channel_id",
- channel.ID,
- )
- err = resp.SetMessage("Il y a eu une erreur lors de la modification de de la base de données.").Send()
- } else {
- err = resp.SetMessage("Salon enregistré.").Send()
- }
- if err != nil {
- utils.SendAlert("commands/config.go - Channel saved message", err.Error())
- }
-}
-
-func ConfigPeriodBeforeReduce(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.OptionMap, resp *utils.ResponseBuilder) {
- resp.IsEphemeral()
- // verify every args
- days, ok := optMap["days"]
- if !ok {
- err := resp.SetMessage("Le nombre de jours n'a pas été renseigné.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Days not set (fallback)", err.Error())
- }
- return
- }
- d := days.IntValue()
- if d < 30 {
- err := resp.SetMessage("Le nombre de jours est inférieur à 30.").Send()
- if err != nil {
- utils.SendAlert("commands/config.go - Days < 30 (fallback)", err.Error())
- }
- return
- }
- // save
- cfg := config.GetGuildConfig(i.GuildID)
- cfg.DaysXPRemains = uint(d)
- err := cfg.Save()
- if err != nil {
- utils.SendAlert(
- "commands/config.go - Saving config",
- err.Error(),
- "guild_id",
- i.GuildID,
- "days",
- d,
- )
- err = resp.SetMessage("Il y a eu une erreur lors de la modification de de la base de données.").Send()
- } else {
- err = resp.SetMessage("Nombre de jours enregistré.").Send()
- }
+ //comp := component.New().
+ // Add(component.NewTextDisplay("# Config")).
+ // Add(component.NewTextDisplay("**Salon par défaut**\n" + defaultChan)).
+ // Add(component.NewSeparator()).
+ // Add(component.NewTextDisplay("**Rôles liés aux niveaux**\n" + roles)).
+ // Add(component.NewSeparator()).
+ // Add(component.NewTextDisplay("**Salons désactivés**\n" + chans)).
+ // Add(component.NewSeparator()).
+ // Add(component.NewTextDisplay(fmt.Sprintf("**%s**\n%d", "Jours avant la réduction", cfg.DaysXPRemains))).
+ // Add(component.NewActionRow().Add(component.NewStringSelect(ConfigModify).
+ // SetPlaceholder("Modifier...").
+ // AddOption(
+ // component.NewSelectOption("Rôles liés à l'XP", config.ModifyXpRole).
+ // SetDescription("Gère les rôles liés à l'XP").
+ // SetEmoji(&discordgo.ComponentEmoji{Name: "🏅"}),
+ // ).
+ // AddOption(
+ // component.NewSelectOption("Salons désactivés", config.ModifyDisChannel).
+ // SetDescription("Gère les salons désactivés").
+ // SetEmoji(&discordgo.ComponentEmoji{Name: "❌"}),
+ // ).
+ // AddOption(
+ // // I don't have a better idea for this...
+ // component.NewSelectOption("Salons par défaut", config.ModifyFallbackChannel).
+ // SetDescription("Spécifie le salon par défaut").
+ // SetEmoji(&discordgo.ComponentEmoji{Name: "💾"}),
+ // ).
+ // AddOption(
+ // component.NewSelectOption("Temps avec la réduction", config.ModifyTimeReduce).
+ // SetDescription("Gère le temps avant la réduction d'XP").
+ // SetEmoji(&discordgo.ComponentEmoji{Name: "⌛"}),
+ // ),
+ // ))
+ comp := component.New().
+ Add(component.NewActionRow().Add(component.NewStringSelect(ConfigModify).
+ SetPlaceholder("Modifier...").
+ AddOption(
+ component.NewSelectOption("Rôles liés à l'XP", config.ModifyXpRole).
+ SetDescription("Gère les rôles liés à l'XP").
+ SetEmoji(&discordgo.ComponentEmoji{Name: "🏅"}),
+ ).
+ AddOption(
+ component.NewSelectOption("Salons désactivés", config.ModifyDisChannel).
+ SetDescription("Gère les salons désactivés").
+ SetEmoji(&discordgo.ComponentEmoji{Name: "❌"}),
+ ).
+ AddOption(
+ // I don't have a better idea for this...
+ component.NewSelectOption("Salons par défaut", config.ModifyFallbackChannel).
+ SetDescription("Spécifie le salon par défaut").
+ SetEmoji(&discordgo.ComponentEmoji{Name: "💾"}),
+ ).
+ AddOption(
+ component.NewSelectOption("Temps avec la réduction", config.ModifyTimeReduce).
+ SetDescription("Gère le temps avant la réduction d'XP").
+ SetEmoji(&discordgo.ComponentEmoji{Name: "⌛"}),
+ ),
+ ))
+ msg := fmt.Sprintf(
+ "# Config\n**Salon par défaut**\n%s\n\n**Rôles liés aux niveaux**\n%s\n\n**Salons désactivés**\n%s\n\n**Jours avant la réduction**\n%d",
+ defaultChan,
+ roles,
+ chans,
+ cfg.DaysXPRemains,
+ )
+ err := resp.SetComponents(comp).SetMessage(msg).IsEphemeral().Send()
if err != nil {
- utils.SendAlert("commands/config.go - Days saved message", err.Error())
+ logger.Alert("config/guild.go - Sending config", err.Error())
}
}
diff --git a/commands/credits.go b/commands/credits.go
index 0943761..cdcfe6e 100644
--- a/commands/credits.go
+++ b/commands/credits.go
@@ -1,17 +1,18 @@
package commands
import (
- "github.com/anhgelus/gokord/utils"
+ "github.com/anhgelus/gokord/cmd"
+ "github.com/anhgelus/gokord/logger"
"github.com/bwmarrin/discordgo"
)
-func Credits(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.OptionMap, resp *utils.ResponseBuilder) {
+func Credits(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) {
err := resp.AddEmbed(&discordgo.MessageEmbed{
Type: discordgo.EmbedTypeRich,
Title: "Crédits",
Description: "Auteur du bot : @anhgelus (https://github.com/anhgelus)\nLangage : Go 1.24\nLicence : AGPLv3",
- Color: utils.Success,
+ Color: 0x10E6AD,
Fields: []*discordgo.MessageEmbedField{
{
Name: "anhgelus/gokord",
@@ -31,6 +32,6 @@ func Credits(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.
},
}).Send()
if err != nil {
- utils.SendAlert("commands/credits.go - Sending credits", err.Error(), "guild_id", i.GuildID)
+ logger.Alert("commands/credits.go - Sending credits", err.Error(), "guild_id", i.GuildID)
}
}
diff --git a/commands/rank.go b/commands/rank.go
index dd5859a..9673089 100644
--- a/commands/rank.go
+++ b/commands/rank.go
@@ -2,13 +2,14 @@ package commands
import (
"fmt"
- "github.com/anhgelus/gokord/utils"
+ "github.com/anhgelus/gokord/cmd"
+ "github.com/anhgelus/gokord/logger"
"github.com/anhgelus/les-copaings-bot/exp"
"github.com/anhgelus/les-copaings-bot/user"
"github.com/bwmarrin/discordgo"
)
-func Rank(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.OptionMap, resp *utils.ResponseBuilder) {
+func Rank(s *discordgo.Session, i *discordgo.InteractionCreate, optMap cmd.OptionMap, resp *cmd.ResponseBuilder) {
c := user.GetCopaing(i.Member.User.ID, i.GuildID) // current user = member who used /rank
msg := "Votre niveau"
m := i.Member
@@ -18,12 +19,12 @@ func Rank(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.Opt
if u.Bot {
err = resp.SetMessage("Imagine si les bots avaient un niveau :rolling_eyes:").IsEphemeral().Send()
if err != nil {
- utils.SendAlert("commands/rank.go - Reply error user is a bot", err.Error())
+ logger.Alert("commands/rank.go - Reply error user is a bot", err.Error())
}
}
m, err = s.GuildMember(i.GuildID, u.ID)
if err != nil {
- utils.SendAlert(
+ logger.Alert(
"commands/rank.go - Fetching guild member",
err.Error(),
"discord_id",
@@ -33,7 +34,7 @@ func Rank(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.Opt
)
err = resp.SetMessage("Erreur : impossible de récupérer le membre").IsEphemeral().Send()
if err != nil {
- utils.SendAlert("commands/rank.go - Reply error fetching guild member", err.Error())
+ logger.Alert("commands/rank.go - Reply error fetching guild member", err.Error())
}
return
}
@@ -42,7 +43,7 @@ func Rank(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.Opt
}
xp, err := c.GetXP()
if err != nil {
- utils.SendAlert(
+ logger.Alert(
"commands/rank.go - Fetching xp",
err.Error(),
"discord_id",
@@ -52,7 +53,7 @@ func Rank(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.Opt
)
err = resp.SetMessage("Erreur : impossible de récupérer l'XP").IsEphemeral().Send()
if err != nil {
- utils.SendAlert("commands/rank.go - Reply error fetching xp", err.Error())
+ logger.Alert("commands/rank.go - Reply error fetching xp", err.Error())
}
return
}
@@ -66,6 +67,6 @@ func Rank(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.Opt
nxtLvlXP-xp,
)).Send()
if err != nil {
- utils.SendAlert("commands/rank.go - Sending rank", err.Error())
+ logger.Alert("commands/rank.go - Sending rank", err.Error())
}
}
diff --git a/commands/reset.go b/commands/reset.go
index c4275a0..653a1d9 100644
--- a/commands/reset.go
+++ b/commands/reset.go
@@ -2,44 +2,45 @@ package commands
import (
"github.com/anhgelus/gokord"
- "github.com/anhgelus/gokord/utils"
+ "github.com/anhgelus/gokord/cmd"
+ "github.com/anhgelus/gokord/logger"
"github.com/anhgelus/les-copaings-bot/user"
"github.com/bwmarrin/discordgo"
)
-func Reset(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.OptionMap, resp *utils.ResponseBuilder) {
+func Reset(_ *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 {
- utils.SendAlert("commands/reset.go - Sending success (all)", err.Error())
+ logger.Alert("commands/reset.go - Sending success (all)", err.Error())
}
}
-func ResetUser(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.OptionMap, resp *utils.ResponseBuilder) {
+func ResetUser(s *discordgo.Session, i *discordgo.InteractionCreate, optMap cmd.OptionMap, resp *cmd.ResponseBuilder) {
resp.IsEphemeral()
v, ok := optMap["user"]
if !ok {
if err := resp.SetMessage("Le user n'a pas été renseigné.").Send(); err != nil {
- utils.SendAlert("commands/reset.go - Copaing not set", err.Error())
+ logger.Alert("commands/reset.go - Copaing not set", err.Error())
}
return
}
m := v.UserValue(s)
if m.Bot {
if err := resp.SetMessage("Les bots n'ont pas de niveau :upside_down:").Send(); err != nil {
- utils.SendAlert("commands/reset.go - Copaing not set", err.Error())
+ logger.Alert("commands/reset.go - Copaing not set", err.Error())
}
return
}
err := user.GetCopaing(m.ID, i.GuildID).Delete()
if err != nil {
- utils.SendAlert("commands/reset.go - Copaing not deleted", err.Error(), "discord_id", m.ID, "guild_id", i.GuildID)
+ logger.Alert("commands/reset.go - Copaing not deleted", err.Error(), "discord_id", m.ID, "guild_id", i.GuildID)
err = resp.SetMessage("Erreur : impossible de reset l'utilisateur").Send()
if err != nil {
- utils.SendAlert("commands/reset.go - Error deleting", err.Error())
+ logger.Alert("commands/reset.go - Error deleting", err.Error())
}
}
if err = resp.SetMessage("Le user bien été reset.").Send(); err != nil {
- utils.SendAlert("commands/reset.go - Sending success (user)", err.Error())
+ logger.Alert("commands/reset.go - Sending success (user)", err.Error())
}
}
diff --git a/commands/top.go b/commands/top.go
index daa1ccb..09fa91f 100644
--- a/commands/top.go
+++ b/commands/top.go
@@ -2,7 +2,8 @@ package commands
import (
"fmt"
- "github.com/anhgelus/gokord/utils"
+ "github.com/anhgelus/gokord/cmd"
+ "github.com/anhgelus/gokord/logger"
"github.com/anhgelus/les-copaings-bot/config"
"github.com/anhgelus/les-copaings-bot/exp"
"github.com/anhgelus/les-copaings-bot/user"
@@ -10,10 +11,10 @@ import (
"sync"
)
-func Top(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.OptionMap, resp *utils.ResponseBuilder) {
+func Top(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) {
err := resp.IsDeferred().Send()
if err != nil {
- utils.SendAlert("commands/top.go - Sending deferred", err.Error())
+ logger.Alert("commands/top.go - Sending deferred", err.Error())
return
}
embeds := make([]*discordgo.MessageEmbed, 3)
@@ -23,18 +24,18 @@ func Top(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.Opti
defer wg.Done()
tops, err := user.GetBestXP(i.GuildID, n, d)
if err != nil {
- utils.SendAlert("commands/top.go - Fetching best xp", err.Error(), "n", n, "d", d, "id", id, "guild_id", i.GuildID)
+ logger.Alert("commands/top.go - Fetching best xp", err.Error(), "n", n, "d", d, "id", id, "guild_id", i.GuildID)
embeds[id] = &discordgo.MessageEmbed{
Title: s,
Description: "Erreur : impossible de récupérer la liste",
- Color: utils.Error,
+ Color: 0x831010,
}
return
}
embeds[id] = &discordgo.MessageEmbed{
Title: s,
Description: genTopsMessage(tops),
- Color: utils.Success,
+ Color: 0x10E6AD,
}
}
cfg := config.GetGuildConfig(i.GuildID)
@@ -57,7 +58,7 @@ func Top(s *discordgo.Session, i *discordgo.InteractionCreate, optMap utils.Opti
}
err = resp.Send()
if err != nil {
- utils.SendAlert("commands/top.go - Sending response top", err.Error())
+ logger.Alert("commands/top.go - Sending response top", err.Error())
}
}()
}