refactor(config): use component to show config

This commit is contained in:
Anhgelus Morhtuuzh 2025-08-06 16:06:56 +02:00
parent 4aa8b9ec67
commit caa3b338a3
Signed by: anhgelus
GPG key ID: 617773CACE89052C

View file

@ -48,56 +48,44 @@ func Config(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMa
} else { } else {
defaultChan = fmt.Sprintf("<#%s>", cfg.FallbackChannel) defaultChan = fmt.Sprintf("<#%s>", cfg.FallbackChannel)
} }
err := resp.AddEmbed(&discordgo.MessageEmbed{ comp := component.New().Add(component.NewSection().
Type: discordgo.EmbedTypeRich, Add(component.NewTextDisplay("# Config")).
Title: "Config", Add(component.NewTextDisplay("**Salon par défaut**")).
Color: 0x10E6AD, Add(component.NewTextDisplay(defaultChan)),
Fields: []*discordgo.MessageEmbedField{ ).Add(component.NewSeparator()).Add(component.NewSection().
{ Add(component.NewTextDisplay("**Rôles liés aux niveaux**")).
Name: "Salon par défaut", Add(component.NewTextDisplay(roles)),
Value: defaultChan, ).Add(component.NewSeparator()).Add(component.NewSection().
Inline: false, Add(component.NewTextDisplay("**Salons désactivés**")).
}, Add(component.NewTextDisplay(chans)),
{ ).Add(component.NewSeparator()).Add(component.NewSection().
Name: "Rôles liés aux niveaux", Add(component.NewTextDisplay("**Jours avant la réduction**")).
Value: roles, Add(component.NewTextDisplay(fmt.Sprintf("%d", cfg.DaysXPRemains))),
Inline: false, ).Add(component.NewActionRow().Add(component.NewStringSelect(ConfigModify).
}, SetPlaceholder("Modifier...").
{ AddOption(
Name: "Salons désactivés", component.NewSelectOption("Rôles liés à l'XP", config.ModifyXpRole).
Value: chans, SetDescription("Gère les rôles liés à l'XP").
Inline: false, SetEmoji(&discordgo.ComponentEmoji{Name: "🏅"}),
}, ).
{ AddOption(
Name: "Jours avant la réduction", component.NewSelectOption("Salons désactivés", config.ModifyDisChannel).
Value: fmt.Sprintf("%d", cfg.DaysXPRemains), SetDescription("Gère les salons désactivés").
Inline: false, SetEmoji(&discordgo.ComponentEmoji{Name: "❌"}),
}, ).
}, AddOption(
}).SetComponents(component.New().Add(component.NewActionRow().Add( // I don't have a better idea for this...
component.NewStringSelect(ConfigModify).SetPlaceholder("Modifier..."). component.NewSelectOption("Salons de repli", config.ModifyFallbackChannel).
AddOption( SetDescription("Spécifie le salon de repli").
component.NewSelectOption("Rôles liés à l'XP", config.ModifyXpRole). SetEmoji(&discordgo.ComponentEmoji{Name: "💾"}),
SetDescription("Gère les rôles liés à l'XP"). ).
SetEmoji(&discordgo.ComponentEmoji{Name: "🏅"}), AddOption(
). component.NewSelectOption("Temps avec la réduction", config.ModifyTimeReduce).
AddOption( SetDescription("Gère le temps avant la réduction d'XP").
component.NewSelectOption("Salons désactivés", config.ModifyDisChannel). SetEmoji(&discordgo.ComponentEmoji{Name: "⌛"}),
SetDescription("Gère les salons désactivés"). ),
SetEmoji(&discordgo.ComponentEmoji{Name: "❌"}), ))
). err := resp.SetComponents(comp).IsEphemeral().Send()
AddOption(
// I don't have a better idea for this...
component.NewSelectOption("Salons de repli", config.ModifyFallbackChannel).
SetDescription("Spécifie le salon de repli").
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: "⌛"}),
),
))).IsEphemeral().Send()
if err != nil { if err != nil {
logger.Alert("config/guild.go - Sending config", err.Error()) logger.Alert("config/guild.go - Sending config", err.Error())
} }