From 8a7189c3835a431b7fc16b189162f6f343e80b84 Mon Sep 17 00:00:00 2001 From: ascpial Date: Sat, 20 Sep 2025 23:33:29 +0200 Subject: feat(config): finish upgrading config --- config/channel.go | 113 ++++++++---------------------------------------------- 1 file changed, 17 insertions(+), 96 deletions(-) (limited to 'config/channel.go') diff --git a/config/channel.go b/config/channel.go index c918810..8b45382 100644 --- a/config/channel.go +++ b/config/channel.go @@ -5,12 +5,13 @@ import ( "github.com/anhgelus/gokord/cmd" discordgo "github.com/nyttikord/gokord" + + // "github.com/nyttikord/gokord/component" "github.com/nyttikord/gokord/interaction" ) const ( ModifyFallbackChannel = "fallback_channel" - FallbackChannelSet = "fallback_channel_set" ModifyDisChannel = "disabled_channel" DisChannelAdd = "disabled_channel_add" @@ -19,108 +20,28 @@ const ( DisChannelDelSet = "disabled_channel_del_set" ) -func HandleModifyFallbackChannel(_ *discordgo.Session, _ *discordgo.InteractionCreate, _ *interaction.MessageComponentData, _ *cmd.ResponseBuilder) { - //err := resp.IsEphemeral().SetComponents(component.New().Add(component.NewActionRow().Add( - // component.NewChannelSelect(FallbackChannelSet).AddChannelType(discordgo.ChannelTypeGuildText), - //))).Send() - //if err != nil { - // logger.Alert("config/channel.go - Sending channel list for fallback", err.Error()) - //} -} - -func HandleFallbackChannelSet(s *discordgo.Session, i *discordgo.InteractionCreate, data *interaction.MessageComponentData, resp *cmd.ResponseBuilder) { - resp.IsEphemeral() - +func HandleModifyFallbackChannel(s *discordgo.Session, i *discordgo.InteractionCreate, data *interaction.MessageComponentData, resp *cmd.ResponseBuilder) bool { cfg := GetGuildConfig(i.GuildID) - channelID := data.Values[0] - + var channelID string + if len(data.Values) > 0 { + channelID = data.Values[0] + } cfg.FallbackChannel = channelID err := cfg.Save() if err != nil { - s.LogError(err, "saving fallback channel") - if err = resp.SetMessage("Erreur lors de la sauvegarde du salon").Send(); err != nil { - s.LogError(err, "sending error while saving channel") - } - return - } - if err = resp.SetMessage("Salon sauvegardé.").Send(); err != nil { - s.LogError(err, "sending channel saved") + s.LogError(err, "Saving fallback channel") + return false } + return true } -func HandleModifyDisChannel(_ *discordgo.Session, _ *discordgo.InteractionCreate, _ *interaction.MessageComponentData, _ *cmd.ResponseBuilder) { - //err := resp.IsEphemeral().SetComponents(component.New().Add(component.NewActionRow(). - // Add( - // component.NewButton(DisChannelAdd, discordgo.PrimaryButton). - // SetLabel("Désactiver un salon"). - // SetEmoji(&discordgo.ComponentEmoji{Name: "⬇️"}), - // ). - // Add( - // component.NewButton(DisChannelDel, discordgo.DangerButton). - // SetLabel("Réactiver un salon"). - // SetEmoji(&discordgo.ComponentEmoji{Name: "⬆️"}), - // ), - //)).Send() - //if err != nil { - // logger.Alert("config/channel.go - Sending action type", err.Error()) - //} -} - -func HandleDisChannel(_ *discordgo.Session, _ *discordgo.InteractionCreate, data *interaction.MessageComponentData, resp *cmd.ResponseBuilder) { - //resp.IsEphemeral().SetMessage("Salon à désactiver...") - //cID := DisChannelAddSet - //if data.CustomID == DisChannelDel { - // resp.SetMessage("Salon à réactiver...") - // cID = DisChannelDelSet - //} - //err := resp.SetComponents(component.New().Add(component.NewActionRow().Add(component.NewChannelSelect(cID)))).Send() - //if err != nil { - // logger.Alert("config/channel.go - Sending channel list for disable", err.Error()) - //} -} - -func HandleDisChannelAddSet(_ *discordgo.Session, i *discordgo.InteractionCreate, data *interaction.MessageComponentData, resp *cmd.ResponseBuilder) { - //resp.IsEphemeral() - //cfg := GetGuildConfig(i.GuildID) - //id := data.Values[0] - //if strings.Contains(cfg.DisabledChannels, id) { - // err := resp.SetMessage("Le salon est déjà dans la liste des salons désactivés").Send() - // if err != nil { - // logger.Alert("commands/config.go - Channel already disabled", err.Error()) - // } - // return - //} - //cfg.DisabledChannels += id + ";" - //if err := cfg.Save(); err != nil { - // logger.Alert("commands/config.go - Saving config disable add", err.Error()) - // if err = resp.SetMessage("Il y a eu une erreur lors de la modification de de la base de données.").Send(); err != nil { - // logger.Alert("config/channel.go - Sending error while saving config", err.Error()) - // } - //} - //if err := resp.SetMessage("Modification sauvegardé.").Send(); err != nil { - // logger.Alert("commands/config.go - Modification saved message disable add", err.Error()) - //} -} - -func HandleDisChannelDelSet(s *discordgo.Session, i *discordgo.InteractionCreate, data *interaction.MessageComponentData, resp *cmd.ResponseBuilder) { - resp.IsEphemeral() +func HandleModifyDisChannel(s *discordgo.Session, i *discordgo.InteractionCreate, data *interaction.MessageComponentData, resp *cmd.ResponseBuilder) bool { cfg := GetGuildConfig(i.GuildID) - id := data.Values[0] - if !strings.Contains(cfg.DisabledChannels, id) { - err := resp.SetMessage("Le salon n'est pas désactivé").Send() - if err != nil { - s.LogError(err, "sending channel not disabled") - } - return - } - cfg.DisabledChannels = strings.ReplaceAll(cfg.DisabledChannels, id+";", "") - if err := cfg.Save(); err != nil { - s.LogError(err, "saving config disable del") - if err = resp.SetMessage("Il y a eu une erreur lors de la modification de la base de données.").Send(); err != nil { - s.LogError(err, "sending error while saving config") - } - } - if err := resp.SetMessage("Modification sauvegardé.").Send(); err != nil { - s.LogError(err, "modification saved message disable del") + cfg.DisabledChannels = strings.Join(data.Values, ";") + err := cfg.Save() + if err != nil { + s.LogError(err, "Unable to save disabled channel") + return false } + return true } -- cgit v1.2.3