aboutsummaryrefslogtreecommitdiff
path: root/commands/reset.go
diff options
context:
space:
mode:
Diffstat (limited to 'commands/reset.go')
-rw-r--r--commands/reset.go49
1 files changed, 27 insertions, 22 deletions
diff --git a/commands/reset.go b/commands/reset.go
index 21bfeb7..ae31781 100644
--- a/commands/reset.go
+++ b/commands/reset.go
@@ -1,6 +1,8 @@
package commands
import (
+ "context"
+
"git.anhgelus.world/anhgelus/les-copaings-bot/user"
"github.com/anhgelus/gokord"
"github.com/anhgelus/gokord/cmd"
@@ -10,37 +12,40 @@ import (
func Reset(s bot.Session, i *event.InteractionCreate, _ cmd.OptionMap, resp *cmd.ResponseBuilder) {
var copaings []*user.Copaing
+ //TODO: delete everything from cache
gokord.DB.Where("guild_id = ?", i.GuildID).Delete(&copaings)
if err := resp.IsEphemeral().SetMessage("L'XP a été reset.").Send(); err != nil {
s.Logger().Error("sending reset success", "error", err)
}
}
-func ResetUser(s bot.Session, i *event.InteractionCreate, optMap cmd.OptionMap, resp *cmd.ResponseBuilder) {
- resp.IsEphemeral()
- v, ok := optMap["user"]
- if !ok {
- if err := resp.SetMessage("Le user n'a pas été renseigné.").Send(); err != nil {
- s.Logger().Error("sending error copaing not set", "error", err)
+func ResetUser(ctx context.Context) func(s bot.Session, i *event.InteractionCreate, optMap cmd.OptionMap, resp *cmd.ResponseBuilder) {
+ return func(s bot.Session, i *event.InteractionCreate, optMap cmd.OptionMap, resp *cmd.ResponseBuilder) {
+ resp.IsEphemeral()
+ v, ok := optMap["user"]
+ if !ok {
+ if err := resp.SetMessage("Le user n'a pas été renseigné.").Send(); err != nil {
+ s.Logger().Error("sending error copaing not set", "error", err)
+ }
+ return
}
- return
- }
- m := v.UserValue(s.UserAPI())
- if m.Bot {
- if err := resp.SetMessage("Les bots n'ont pas de niveau :upside_down:").Send(); err != nil {
- s.Logger().Error("sending error bot does not have xp", "error", err)
+ m := v.UserValue(s.UserAPI())
+ if m.Bot {
+ if err := resp.SetMessage("Les bots n'ont pas de niveau :upside_down:").Send(); err != nil {
+ s.Logger().Error("sending error bot does not have xp", "error", err)
+ }
+ return
}
- return
- }
- err := user.GetCopaing(m.ID, i.GuildID).Delete()
- if err != nil {
- s.Logger().Error("deleting copaing", "error", err, "user", m.Username, "guild", i.GuildID)
- err = resp.SetMessage("Erreur : impossible de reset l'utilisateur").Send()
+ err := user.GetCopaing(ctx, m.ID, i.GuildID).Delete(ctx)
if err != nil {
- s.Logger().Error("sending error while deleting", "error", err)
+ s.Logger().Error("deleting copaing", "error", err, "user", m.Username, "guild", i.GuildID)
+ err = resp.SetMessage("Erreur : impossible de reset l'utilisateur").Send()
+ if err != nil {
+ s.Logger().Error("sending error while deleting", "error", err)
+ }
+ }
+ if err = resp.SetMessage("Le user bien été reset.").Send(); err != nil {
+ s.Logger().Error("sending reset success", "error", err)
}
- }
- if err = resp.SetMessage("Le user bien été reset.").Send(); err != nil {
- s.Logger().Error("sending reset success", "error", err)
}
}