aboutsummaryrefslogtreecommitdiff
path: root/config/xp_reduce.go
diff options
context:
space:
mode:
Diffstat (limited to 'config/xp_reduce.go')
-rw-r--r--config/xp_reduce.go72
1 files changed, 36 insertions, 36 deletions
diff --git a/config/xp_reduce.go b/config/xp_reduce.go
index 389043d..f8f8d95 100644
--- a/config/xp_reduce.go
+++ b/config/xp_reduce.go
@@ -1,14 +1,12 @@
package config
import (
+ "context"
"fmt"
"strconv"
- "github.com/anhgelus/gokord/cmd"
"github.com/nyttikord/gokord/bot"
"github.com/nyttikord/gokord/component"
- "github.com/nyttikord/gokord/discord/types"
- "github.com/nyttikord/gokord/event"
"github.com/nyttikord/gokord/interaction"
)
@@ -17,52 +15,54 @@ const (
TimeReduceSet = "time_reduce_set"
)
-func HandleModifyPeriodicReduceCommand(s bot.Session, i *event.InteractionCreate, _ *interaction.MessageComponentData, _ *cmd.ResponseBuilder) {
+func HandleModifyPeriodicReduceCommand(ctx context.Context, dg bot.Session, i *interaction.MessageComponent) {
cfg := GetGuildConfig(i.GuildID)
- response := interaction.Response{
- Type: types.InteractionResponseModal,
- Data: &interaction.ResponseData{
- CustomID: TimeReduceSet,
- Title: "Modifier la durée de l'expérience",
- Components: []component.Component{
- // TODO: When gokord supports it, enable this description again
- // &component.TextDisplay{
- // Content: "Seul l'expérience gagnée sur cette période sera comptabilisée dans le niveau par défaut",
- // },
- &component.Label{
- Label: "Durée en jours",
- Component: &component.TextInput{
- CustomID: TimeReduceSet,
- MinLength: 1,
- MaxLength: 3,
- Style: component.TextInputShort,
- Placeholder: "Durée en jours",
- Value: fmt.Sprintf("%d", cfg.DaysXPRemains),
- },
- },
+ resp := interaction.NewModalResponse().
+ CustomID(TimeReduceSet).
+ Title("Modifier la durée de l'expérience").
+ AddComponent(&component.TextDisplay{
+ Content: "Seul l'expérience gagnée sur cette période sera comptabilisée dans le niveau par défaut",
+ }).
+ AddComponent(&component.Label{
+ Label: "Durée en jours",
+ Component: &component.TextInput{
+ CustomID: TimeReduceSet,
+ MinLength: 1,
+ MaxLength: 3,
+ Style: component.TextInputShort,
+ Placeholder: "Durée en jours",
+ Value: fmt.Sprintf("%d", cfg.DaysXPRemains),
},
- },
- }
- err := s.InteractionAPI().Respond(i.Interaction, &response)
+ }).
+ Response()
+ err := dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx)
if err != nil {
- s.Logger().Error("sending xp reduce modal", "error", err)
+ bot.Logger(ctx).Error("sending xp reduce modal", "error", err)
}
}
-func HandleTimeReduceSet(s bot.Session, i *event.InteractionCreate, data *interaction.ModalSubmitData, resp *cmd.ResponseBuilder) bool {
- v := data.Components[0].(*component.Label).Component.(*component.TextInput).Value
+func HandleTimeReduceSet(ctx context.Context, dg bot.Session, i *interaction.ModalSubmit) bool {
+ v := i.Data.Components[0].(*component.Label).Component.(*component.TextInput).Value
days, err := strconv.Atoi(v)
if err != nil {
- err = resp.IsEphemeral().SetMessage(fmt.Sprintf("La valeur indiquée, `%s`, c'est pas un entier.", v)).Send()
+ resp := interaction.NewMessageResponse().
+ IsEphemeral().
+ Message(fmt.Sprintf("La valeur indiquée, `%s`, c'est pas un entier.", v)).
+ Response()
+ err = dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx)
if err != nil {
- s.Logger().Error("sending bad input message", "error", err)
+ bot.Logger(ctx).Error("sending bad input message", "error", err)
}
return false
}
if days < 30 {
- err = resp.IsEphemeral().SetMessage("Le nombre de jours doit être suppérieur à 30.").Send()
+ resp := interaction.NewMessageResponse().
+ IsEphemeral().
+ Message("Le nombre de jours doit être suppérieur à 30.").
+ Response()
+ err = dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx)
if err != nil {
- s.Logger().Error("sending less than 30 days message", "error", err)
+ bot.Logger(ctx).Error("sending less than 30 days message", "error", err)
}
return false
}
@@ -70,7 +70,7 @@ func HandleTimeReduceSet(s bot.Session, i *event.InteractionCreate, data *intera
cfg.DaysXPRemains = uint(days)
err = cfg.Save()
if err != nil {
- s.Logger().Error("saving DaysXPRemains configuration", "error", err)
+ bot.Logger(ctx).Error("saving DaysXPRemains configuration", "error", err)
return false
}
return true