aboutsummaryrefslogtreecommitdiff
path: root/commands
diff options
context:
space:
mode:
authorWilliam Hergès <william@herges.fr>2025-08-06 15:13:19 +0200
committerWilliam Hergès <william@herges.fr>2025-08-06 15:13:19 +0200
commit6d19ef42c4135dac57c23bf6d00041423255598d (patch)
tree44f09db6002963b39002756b3dfa80d8034428f2 /commands
parent0968c18b15c5fe58c0220fa20ef6a87000bd1a1e (diff)
refactor(config): handle fallback channel
Diffstat (limited to 'commands')
-rw-r--r--commands/config.go51
1 files changed, 4 insertions, 47 deletions
diff --git a/commands/config.go b/commands/config.go
index 9aa4682..18c5aa9 100644
--- a/commands/config.go
+++ b/commands/config.go
@@ -12,10 +12,8 @@ import (
)
const (
- ConfigModify = "config_modify"
- ConfigModifyDisChannel = "disabled_channel"
- ConfigModifyFallbackChannel = "fallback_channel"
- ConfigModifyTimeReduce = "time_reduce"
+ ConfigModify = "config_modify"
+ ConfigModifyTimeReduce = "time_reduce"
)
func Config(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) {
@@ -85,13 +83,13 @@ func Config(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMa
SetEmoji(&discordgo.ComponentEmoji{Name: "🏅"}),
).
AddOption(
- component.NewSelectOption("Salons désactivés", ConfigModifyDisChannel).
+ 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 de repli", ConfigModifyFallbackChannel).
+ component.NewSelectOption("Salons de repli", config.ModifyFallbackChannel).
SetDescription("Spécifie le salon de repli").
SetEmoji(&discordgo.ComponentEmoji{Name: "💾"}),
).
@@ -176,47 +174,6 @@ func ConfigChannel(s *discordgo.Session, i *discordgo.InteractionCreate, optMap
}
}
-func ConfigFallbackChannel(s *discordgo.Session, i *discordgo.InteractionCreate, optMap cmd.OptionMap, resp *cmd.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 {
- logger.Alert("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 {
- logger.Alert("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 {
- logger.Alert(
- "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 {
- logger.Alert("commands/config.go - Channel saved message", err.Error())
- }
-}
-
func ConfigPeriodBeforeReduce(s *discordgo.Session, i *discordgo.InteractionCreate, optMap cmd.OptionMap, resp *cmd.ResponseBuilder) {
resp.IsEphemeral()
// verify every args