From b4408674c901d03da72f9471cf1a19762f03b03a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Herg=C3=A8s?= Date: Wed, 30 Jul 2025 21:57:05 +0200 Subject: refactor(command): use message component to edit config --- main.go | 67 +++++------------------------------------------------------------ 1 file changed, 5 insertions(+), 62 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 4610bc4..b2def4f 100644 --- a/main.go +++ b/main.go @@ -60,68 +60,8 @@ func main() { SetHandler(commands.Rank) configCmd := gokord.NewCommand("config", "Modifie la config"). - ContainsSub(). - AddSub( - gokord.NewCommand("show", "Affiche la config").SetHandler(commands.ConfigShow), - ). - AddSub( - gokord.NewCommand("xp", "Modifie l'xp"). - AddOption(gokord.NewOption( - discordgo.ApplicationCommandOptionString, - "type", - "Type d'action à effectuer", - ). - AddChoice(gokord.NewChoice("Ajouter", "add")). - AddChoice(gokord.NewChoice("Supprimer", "del")). - AddChoice(gokord.NewChoice("Modifier", "edit")).IsRequired(), - ). - AddOption(gokord.NewOption( - discordgo.ApplicationCommandOptionInteger, - "level", - "Niveau du rôle", - ).IsRequired()). - AddOption(gokord.NewOption( - discordgo.ApplicationCommandOptionRole, - "role", - "Rôle", - ).IsRequired()). - SetHandler(commands.ConfigXP), - ). - AddSub( - gokord.NewCommand("disabled-channels", "Modifie les salons désactivés"). - AddOption(gokord.NewOption( - discordgo.ApplicationCommandOptionString, - "type", - "Type d'action à effectuer", - ). - AddChoice(gokord.NewChoice("Désactiver le salon", "add")). - AddChoice(gokord.NewChoice("Activer le salon", "del")).IsRequired(), - ). - AddOption(gokord.NewOption( - discordgo.ApplicationCommandOptionChannel, - "channel", - "Salon à modifier", - ).IsRequired()). - SetHandler(commands.ConfigChannel), - ). - AddSub( - gokord.NewCommand("period-before-reduce", "Temps avant la perte d'xp (affecte aussi le /top)"). - AddOption(gokord.NewOption( - discordgo.ApplicationCommandOptionInteger, - "days", - "Nombre de jours avant la perte d'xp (doit être égal ou plus grand que 30)", - ).IsRequired()). - SetHandler(commands.ConfigPeriodBeforeReduce), - ). - AddSub( - gokord.NewCommand("fallback-channel", "Modifie le salon textuel par défaut"). - AddOption(gokord.NewOption( - discordgo.ApplicationCommandOptionChannel, - "channel", - "Salon textuel par défaut", - ).IsRequired()). - SetHandler(commands.ConfigFallbackChannel), - ).SetPermission(&adm) + SetPermission(&adm). + SetHandler(commands.Config) topCmd := gokord.NewCommand("top", "Copaings les plus actifs"). SetHandler(commands.Top) @@ -198,4 +138,7 @@ func afterInit(dg *discordgo.Session) { stopPeriodicReducer = utils.NewTimer(24*time.Hour, func(stop chan<- interface{}) { user.PeriodicReducer(dg) }) + + //interaction: /config + dg.AddHandler(commands.ConfigXP) } -- cgit v1.2.3 From 30992e873cc5d68f7e231e5ea920e5fec748836d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Herg=C3=A8s?= Date: Wed, 30 Jul 2025 22:39:31 +0200 Subject: refactor(command): modify xp role with message component --- main.go | 1 + 1 file changed, 1 insertion(+) (limited to 'main.go') diff --git a/main.go b/main.go index b2def4f..1047d16 100644 --- a/main.go +++ b/main.go @@ -141,4 +141,5 @@ func afterInit(dg *discordgo.Session) { //interaction: /config dg.AddHandler(commands.ConfigXP) + dg.AddHandler(commands.ConfigXPModal) } -- cgit v1.2.3 From 5a8da1eaeb9434a18e553a5c50490d06b54a6a1d Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Wed, 6 Aug 2025 02:22:06 +0200 Subject: build(gokord): upgrade to latest version --- main.go | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 1047d16..0f70810 100644 --- a/main.go +++ b/main.go @@ -5,7 +5,8 @@ import ( "errors" "flag" "github.com/anhgelus/gokord" - "github.com/anhgelus/gokord/utils" + cmd "github.com/anhgelus/gokord/cmd" + "github.com/anhgelus/gokord/logger" "github.com/anhgelus/les-copaings-bot/commands" "github.com/anhgelus/les-copaings-bot/config" "github.com/anhgelus/les-copaings-bot/user" @@ -31,7 +32,7 @@ var ( func init() { err := godotenv.Load() if err != nil && !errors.Is(err, os.ErrNotExist) { - utils.SendWarn("Error while loading .env file", "error", err.Error()) + logger.Warn("Error while loading .env file", "error", err.Error()) } flag.StringVar(&token, "token", os.Getenv("TOKEN"), "token of the bot") } @@ -51,27 +52,27 @@ func main() { adm := gokord.AdminPermission - rankCmd := gokord.NewCommand("rank", "Affiche le niveau d'un copaing"). - AddOption(gokord.NewOption( + rankCmd := cmd.New("rank", "Affiche le niveau d'un copaing"). + AddOption(cmd.NewOption( discordgo.ApplicationCommandOptionUser, "copaing", "Le niveau du Copaing que vous souhaitez obtenir", )). SetHandler(commands.Rank) - configCmd := gokord.NewCommand("config", "Modifie la config"). + configCmd := cmd.New("config", "Modifie la config"). SetPermission(&adm). SetHandler(commands.Config) - topCmd := gokord.NewCommand("top", "Copaings les plus actifs"). + topCmd := cmd.New("top", "Copaings les plus actifs"). SetHandler(commands.Top) - resetCmd := gokord.NewCommand("reset", "Reset l'xp"). + resetCmd := cmd.New("reset", "Reset l'xp"). SetHandler(commands.Reset). SetPermission(&adm) - resetUserCmd := gokord.NewCommand("reset-user", "Reset l'xp d'un utilisation"). - AddOption(gokord.NewOption( + resetUserCmd := cmd.New("reset-user", "Reset l'xp d'un utilisation"). + AddOption(cmd.NewOption( discordgo.ApplicationCommandOptionUser, "user", "Copaing a reset", @@ -79,7 +80,7 @@ func main() { SetHandler(commands.ResetUser). SetPermission(&adm) - creditsCmd := gokord.NewCommand("credits", "Crédits"). + creditsCmd := cmd.New("credits", "Crédits"). SetHandler(commands.Credits) innovations, err := gokord.LoadInnovationFromJson(updatesData) @@ -107,7 +108,7 @@ func main() { Content: "Les Copaings Bot " + Version.String(), }, }, - Commands: []gokord.CommandBuilder{ + Commands: []cmd.CommandBuilder{ rankCmd, configCmd, topCmd, @@ -135,7 +136,7 @@ func afterInit(dg *discordgo.Session) { dg.AddHandler(OnVoiceUpdate) dg.AddHandler(OnLeave) - stopPeriodicReducer = utils.NewTimer(24*time.Hour, func(stop chan<- interface{}) { + stopPeriodicReducer = gokord.NewTimer(24*time.Hour, func(stop chan<- interface{}) { user.PeriodicReducer(dg) }) -- cgit v1.2.3 From 3d89f9c3543b8898ae5c29281e9007fbdb003c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Herg=C3=A8s?= Date: Wed, 6 Aug 2025 14:54:47 +0200 Subject: feat(command): use gokord new handle for config --- main.go | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 0f70810..79ec452 100644 --- a/main.go +++ b/main.go @@ -116,31 +116,37 @@ func main() { resetUserCmd, creditsCmd, }, - AfterInit: afterInit, + AfterInit: func(dg *discordgo.Session) { + stopPeriodicReducer = gokord.NewTimer(24*time.Hour, func(stop chan<- interface{}) { + user.PeriodicReducer(dg) + }) + }, Innovations: innovations, Version: &Version, Intents: discordgo.IntentsAllWithoutPrivileged | discordgo.IntentsMessageContent | discordgo.IntentGuildMembers, } + + // interaction: /config + bot.HandleMessageComponent(commands.ConfigModifyXPRole, commands.ConfigModifyXpRole) + bot.HandleMessageComponent(commands.ConfigXPRoleAddEdit, commands.XpRoleAdd) + bot.HandleMessageComponent(commands.ConfigXPRoleAddEdit, commands.XpRoleEdit) + bot.HandleMessageComponent(commands.ConfigXPRoleAddRole, commands.XpRoleAddRole) + bot.HandleMessageComponent(commands.ConfigXPRoleEditRole, commands.XpRoleEditRole) + bot.HandleMessageComponent(commands.ConfigXPRoleDel, commands.XpRoleDel) + bot.HandleMessageComponent(commands.ConfigXPRoleDelRole, commands.XpRoleDelRole) + bot.HandleModal(commands.ConfigXPRoleLevel, commands.XpRoleAddLevel) + bot.HandleModal(commands.ConfigXPRoleLevel, commands.XpRoleEditLevel) + + // xp handlers + bot.AddHandler(OnMessage) + bot.AddHandler(OnVoiceUpdate) + bot.AddHandler(OnLeave) + bot.Start() if stopPeriodicReducer != nil { stopPeriodicReducer <- true } } - -func afterInit(dg *discordgo.Session) { - // handlers - dg.AddHandler(OnMessage) - dg.AddHandler(OnVoiceUpdate) - dg.AddHandler(OnLeave) - - stopPeriodicReducer = gokord.NewTimer(24*time.Hour, func(stop chan<- interface{}) { - user.PeriodicReducer(dg) - }) - - //interaction: /config - dg.AddHandler(commands.ConfigXP) - dg.AddHandler(commands.ConfigXPModal) -} -- cgit v1.2.3 From 0968c18b15c5fe58c0220fa20ef6a87000bd1a1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Herg=C3=A8s?= Date: Wed, 6 Aug 2025 15:02:51 +0200 Subject: style(config): move everything related to modify xp role in package config --- main.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 79ec452..b57fcb5 100644 --- a/main.go +++ b/main.go @@ -129,15 +129,15 @@ func main() { } // interaction: /config - bot.HandleMessageComponent(commands.ConfigModifyXPRole, commands.ConfigModifyXpRole) - bot.HandleMessageComponent(commands.ConfigXPRoleAddEdit, commands.XpRoleAdd) - bot.HandleMessageComponent(commands.ConfigXPRoleAddEdit, commands.XpRoleEdit) - bot.HandleMessageComponent(commands.ConfigXPRoleAddRole, commands.XpRoleAddRole) - bot.HandleMessageComponent(commands.ConfigXPRoleEditRole, commands.XpRoleEditRole) - bot.HandleMessageComponent(commands.ConfigXPRoleDel, commands.XpRoleDel) - bot.HandleMessageComponent(commands.ConfigXPRoleDelRole, commands.XpRoleDelRole) - bot.HandleModal(commands.ConfigXPRoleLevel, commands.XpRoleAddLevel) - bot.HandleModal(commands.ConfigXPRoleLevel, commands.XpRoleEditLevel) + bot.HandleMessageComponent(config.HandleModifyXpRole, config.ModifyXpRole) + bot.HandleMessageComponent(config.HandleXpRoleAddEdit, config.XpRoleAdd) + bot.HandleMessageComponent(config.HandleXpRoleAddEdit, config.XpRoleEdit) + bot.HandleMessageComponent(config.HandleXpRoleAddRole, config.XpRoleAddRole) + bot.HandleMessageComponent(config.HandleXpRoleEditRole, config.XpRoleEditRole) + bot.HandleMessageComponent(config.HandleXpRoleDel, config.XpRoleDel) + bot.HandleMessageComponent(config.HandleXpRoleDelRole, config.XpRoleDelRole) + bot.HandleModal(config.HandleXpRoleLevel, config.XpRoleAddLevel) + bot.HandleModal(config.HandleXpRoleLevel, config.XpRoleEditLevel) // xp handlers bot.AddHandler(OnMessage) -- cgit v1.2.3 From 6d19ef42c4135dac57c23bf6d00041423255598d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Herg=C3=A8s?= Date: Wed, 6 Aug 2025 15:13:19 +0200 Subject: refactor(config): handle fallback channel --- main.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'main.go') diff --git a/main.go b/main.go index b57fcb5..d03283a 100644 --- a/main.go +++ b/main.go @@ -129,6 +129,7 @@ func main() { } // interaction: /config + // xp related bot.HandleMessageComponent(config.HandleModifyXpRole, config.ModifyXpRole) bot.HandleMessageComponent(config.HandleXpRoleAddEdit, config.XpRoleAdd) bot.HandleMessageComponent(config.HandleXpRoleAddEdit, config.XpRoleEdit) @@ -138,6 +139,9 @@ func main() { bot.HandleMessageComponent(config.HandleXpRoleDelRole, config.XpRoleDelRole) bot.HandleModal(config.HandleXpRoleLevel, config.XpRoleAddLevel) bot.HandleModal(config.HandleXpRoleLevel, config.XpRoleEditLevel) + // channel related + bot.HandleMessageComponent(config.HandleModifyFallbackChannel, config.ModifyFallbackChannel) + bot.HandleMessageComponent(config.HandleFallbackChannelSet, config.FallbackChannelSet) // xp handlers bot.AddHandler(OnMessage) -- cgit v1.2.3 From 0b93ea5daaee317a45291df188af13a6fab0c481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Herg=C3=A8s?= Date: Wed, 6 Aug 2025 15:35:10 +0200 Subject: refactor(config): handle xp reduce --- main.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'main.go') diff --git a/main.go b/main.go index d03283a..5efb9b9 100644 --- a/main.go +++ b/main.go @@ -129,7 +129,7 @@ func main() { } // interaction: /config - // xp related + // xp role related bot.HandleMessageComponent(config.HandleModifyXpRole, config.ModifyXpRole) bot.HandleMessageComponent(config.HandleXpRoleAddEdit, config.XpRoleAdd) bot.HandleMessageComponent(config.HandleXpRoleAddEdit, config.XpRoleEdit) @@ -142,6 +142,9 @@ func main() { // channel related bot.HandleMessageComponent(config.HandleModifyFallbackChannel, config.ModifyFallbackChannel) bot.HandleMessageComponent(config.HandleFallbackChannelSet, config.FallbackChannelSet) + // reduce related + bot.HandleMessageComponent(config.HandleModifyPeriodicReduce, config.ModifyTimeReduce) + bot.HandleModal(config.HandleTimeReduceSet, config.TimeReduceSet) // xp handlers bot.AddHandler(OnMessage) -- cgit v1.2.3 From b9466f812284bb6feb793de6229cf7266dc24361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Herg=C3=A8s?= Date: Wed, 6 Aug 2025 15:51:17 +0200 Subject: refactor(config): handle disabled channels --- main.go | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'main.go') diff --git a/main.go b/main.go index 5efb9b9..505489d 100644 --- a/main.go +++ b/main.go @@ -142,6 +142,11 @@ func main() { // channel related bot.HandleMessageComponent(config.HandleModifyFallbackChannel, config.ModifyFallbackChannel) bot.HandleMessageComponent(config.HandleFallbackChannelSet, config.FallbackChannelSet) + bot.HandleMessageComponent(config.HandleModifyDisChannel, config.ModifyDisChannel) + bot.HandleMessageComponent(config.HandleDisChannel, config.DisChannelAdd) + bot.HandleMessageComponent(config.HandleDisChannel, config.DisChannelDel) + bot.HandleMessageComponent(config.HandleDisChannelAddSet, config.DisChannelAddSet) + bot.HandleMessageComponent(config.HandleDisChannelDelSet, config.DisChannelDelSet) // reduce related bot.HandleMessageComponent(config.HandleModifyPeriodicReduce, config.ModifyTimeReduce) bot.HandleModal(config.HandleTimeReduceSet, config.TimeReduceSet) -- cgit v1.2.3 From 4aa8b9ec67501a4580a402f60c9ec1a35ae2de29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?William=20Herg=C3=A8s?= Date: Wed, 6 Aug 2025 15:52:50 +0200 Subject: build(gokord): bump bot version --- main.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 505489d..b785259 100644 --- a/main.go +++ b/main.go @@ -22,8 +22,8 @@ var ( updatesData []byte Version = gokord.Version{ Major: 3, - Minor: 1, - Patch: 3, + Minor: 2, + Patch: 0, } stopPeriodicReducer chan<- interface{} -- cgit v1.2.3 From 9a58e3db845de57ea5c102e59eeb4bb4cc2dc3cd Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Thu, 21 Aug 2025 14:12:07 +0200 Subject: fix(command): not handling config interaction --- main.go | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 0c45e6a..684ff6e 100644 --- a/main.go +++ b/main.go @@ -138,8 +138,26 @@ func main() { } // interaction: /config + bot.HandleMessageComponent(func(s *discordgo.Session, i *discordgo.InteractionCreate, data discordgo.MessageComponentInteractionData, resp *cmd.ResponseBuilder) { + if len(data.Values) != 1 { + logger.Alert("main.go - Handle config modify", "invalid data values", "values", data.Values) + return + } + switch data.Values[0] { + case config.ModifyXpRole: + config.HandleModifyXpRole(s, i, data, resp) + case config.ModifyFallbackChannel: + config.HandleModifyFallbackChannel(s, i, data, resp) + case config.ModifyDisChannel: + config.HandleModifyDisChannel(s, i, data, resp) + case config.ModifyTimeReduce: + config.HandleModifyPeriodicReduce(s, i, data, resp) + default: + logger.Alert("main.go - Detecting value", "unkown value", "value", data.Values[0]) + return + } + }, commands.ConfigModify) // xp role related - bot.HandleMessageComponent(config.HandleModifyXpRole, config.ModifyXpRole) bot.HandleMessageComponent(config.HandleXpRoleAddEdit, config.XpRoleAdd) bot.HandleMessageComponent(config.HandleXpRoleAddEdit, config.XpRoleEdit) bot.HandleMessageComponent(config.HandleXpRoleAddRole, config.XpRoleAddRole) @@ -149,15 +167,12 @@ func main() { bot.HandleModal(config.HandleXpRoleLevel, config.XpRoleAddLevel) bot.HandleModal(config.HandleXpRoleLevel, config.XpRoleEditLevel) // channel related - bot.HandleMessageComponent(config.HandleModifyFallbackChannel, config.ModifyFallbackChannel) bot.HandleMessageComponent(config.HandleFallbackChannelSet, config.FallbackChannelSet) - bot.HandleMessageComponent(config.HandleModifyDisChannel, config.ModifyDisChannel) bot.HandleMessageComponent(config.HandleDisChannel, config.DisChannelAdd) bot.HandleMessageComponent(config.HandleDisChannel, config.DisChannelDel) bot.HandleMessageComponent(config.HandleDisChannelAddSet, config.DisChannelAddSet) bot.HandleMessageComponent(config.HandleDisChannelDelSet, config.DisChannelDelSet) // reduce related - bot.HandleMessageComponent(config.HandleModifyPeriodicReduce, config.ModifyTimeReduce) bot.HandleModal(config.HandleTimeReduceSet, config.TimeReduceSet) // xp handlers -- cgit v1.2.3