aboutsummaryrefslogtreecommitdiff
path: root/config/channel.go
diff options
context:
space:
mode:
authorWilliam Hergès <anhgelus.morhtuuzh@proton.me>2025-09-26 18:02:18 +0200
committerGitHub <noreply@github.com>2025-09-26 18:02:18 +0200
commit80c147d5430bb3d8894231de3b6e960bcae43694 (patch)
treec1aa0cdfec1b99761d393cb63b39057046be5b74 /config/channel.go
parentc4a5e7db48edb5c69af8bec3e60e444951146d46 (diff)
parent30f110d8d49cd1174882c58916147f52e09dd51e (diff)
Merge pull request #14 from ascpial/new-config
[Feat] Finish upgrading config
Diffstat (limited to 'config/channel.go')
-rw-r--r--config/channel.go112
1 files changed, 16 insertions, 96 deletions
diff --git a/config/channel.go b/config/channel.go
index c918810..723ec38 100644
--- a/config/channel.go
+++ b/config/channel.go
@@ -5,12 +5,12 @@ import (
"github.com/anhgelus/gokord/cmd"
discordgo "github.com/nyttikord/gokord"
+
"github.com/nyttikord/gokord/interaction"
)
const (
ModifyFallbackChannel = "fallback_channel"
- FallbackChannelSet = "fallback_channel_set"
ModifyDisChannel = "disabled_channel"
DisChannelAdd = "disabled_channel_add"
@@ -19,108 +19,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
}