From fc151a9ceeb6cab8631a197c939ca6f6429d8b31 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Mon, 15 Apr 2024 16:17:31 +0200 Subject: fix(config): a role can be present twice --- commands/config.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'commands') diff --git a/commands/config.go b/commands/config.go index 40ff667..384e9fb 100644 --- a/commands/config.go +++ b/commands/config.go @@ -86,12 +86,21 @@ func ConfigXP(s *discordgo.Session, i *discordgo.InteractionCreate) { // add or delete or edit switch ts { case "add": + for _, r := range cfg.XpRoles { + if r.RoleID == role.ID { + err := resp.Message("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: exp, RoleID: role.ID, }) case "del": - _, r := cfg.FindXpRole(exp, role.ID) + _, r := cfg.FindXpRole(role.ID) if r == nil { err := resp.Message("Le rôle n'a pas été trouvé dans la config.").Send() if err != nil { @@ -101,7 +110,7 @@ func ConfigXP(s *discordgo.Session, i *discordgo.InteractionCreate) { } gokord.DB.Delete(r) case "edit": - pos, r := cfg.FindXpRole(exp, role.ID) + pos, r := cfg.FindXpRole(role.ID) if r == nil { err := resp.Message("Le rôle n'a pas été trouvé dans la config.").Send() if err != nil { -- cgit v1.2.3