diff options
Diffstat (limited to 'rolereact/manager.go')
| -rw-r--r-- | rolereact/manager.go | 32 |
1 files changed, 9 insertions, 23 deletions
diff --git a/rolereact/manager.go b/rolereact/manager.go index a55aa5f..3e01017 100644 --- a/rolereact/manager.go +++ b/rolereact/manager.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "git.anhgelus.world/anhgelus/les-copaings-bot/common" "git.anhgelus.world/anhgelus/les-copaings-bot/config" "github.com/nyttikord/gokord/bot" "github.com/nyttikord/gokord/channel" @@ -52,8 +53,10 @@ func ApplyMessageChange(ctx context.Context, dg bot.Session, i *interaction.Inte bot.Logger(ctx).Error("unable to update reactions on rolereact message", "error", err) return "Impossible de mettre à jour le message." } - cfg := GetGuildConfigPreloaded(ctx, i.GuildID) - messageIndex := slices.IndexFunc(cfg.RrMessages, func(m config.RoleReactMessage) bool { return m.ID == message.ID }) + cfg := config.GetGuild(ctx, i.GuildID) + messageIndex := slices.IndexFunc(cfg.RrMessages, func(m *config.RoleReactMessage) bool { + return m.MessageID == message.MessageID + }) if messageIndex == -1 { // should log it? return "Impossible de mmettre à jour le message." @@ -63,26 +66,19 @@ func ApplyMessageChange(ctx context.Context, dg bot.Session, i *interaction.Inte for _, role := range message.Roles { roles[role.ID] = *role } - //db := common.GetDB(ctx) + db := common.GetDB(ctx) for _, role := range oldMessage.Roles { _, ok := roles[role.ID] if !ok { - err = nil //db.Delete(role).Error + err = role.Delete(ctx, db) if err != nil { bot.Logger(ctx).Error("unable to delete reaction role from database", "error", err) return "Impossible de sauvegarder le message de rôle. Merci de contacter l'administrateur du bot." } } } - cfg.RrMessages[messageIndex] = *message - err = nil //db.Save(cfg.RrMessages[messageIndex]).Error - if err != nil { - bot.Logger(ctx).Error("unable to save rolereaction message in database", "error", err) - return "Impossible de sauvegarder le message de rôle. Merci de contacter l'administrateur du bot." - } - for _, role := range cfg.RrMessages[messageIndex].Roles { - println(role.ID) - err = nil //db.Save(role).Error + for _, role := range message.Roles { + err = role.Save(ctx, common.GetDB(ctx)) if err != nil { bot.Logger(ctx).Error("unable to save rolereaction role in database", "error", err) return "Impossible de sauvegarder le message de rôle. Merci de contacter l'administrateur du bot." @@ -122,16 +118,6 @@ func GetMessageFromEditID(ctx context.Context, i *interaction.Interaction, editI return m, true } -func GetGuildConfigPreloaded(ctx context.Context, guildID uint64) *config.Guild { - cfg := config.Guild{ID: guildID} - // err := oldGokord.DB.Where("guild_id = ?", cfg.GuildID).Preload("XpRoles").Preload("RrMessages.Roles").FirstOrCreate(cfg).Error - /*err := common.GetDB(ctx).Where("guild_id = ?", cfg.GuildID).Preload("RrMessages.Roles").FirstOrCreate(&cfg).Error - if err != nil { - panic(err) - }*/ - return &cfg -} - func FormatEmoji(apiName string) string { if strings.Contains(apiName, ":") { return fmt.Sprintf("<:%s>", apiName) |
