diff options
Diffstat (limited to 'config')
| -rw-r--r-- | config/channel.go | 43 | ||||
| -rw-r--r-- | config/xp_role.go | 18 |
2 files changed, 52 insertions, 9 deletions
diff --git a/config/channel.go b/config/channel.go new file mode 100644 index 0000000..2ef8b48 --- /dev/null +++ b/config/channel.go @@ -0,0 +1,43 @@ +package config + +import ( + "github.com/anhgelus/gokord/cmd" + "github.com/anhgelus/gokord/component" + "github.com/anhgelus/gokord/logger" + "github.com/bwmarrin/discordgo" +) + +const ( + ModifyDisChannel = "disabled_channel" + ModifyFallbackChannel = "fallback_channel" + FallbackChannelSet = "fallback_channel_set" +) + +func HandleModifyFallbackChannel(_ *discordgo.Session, _ *discordgo.InteractionCreate, _ discordgo.MessageComponentInteractionData, resp *cmd.ResponseBuilder) { + err := resp.SetMessage("Salon de repli...").SetComponents(component.New().Add(component.NewActionRow().Add( + component.NewChannelSelect(FallbackChannelSet).AddChannelType(discordgo.ChannelTypeGuildText), + ))).Send() + if err != nil { + logger.Alert("config/channel.go - Sending channel list", err.Error()) + } +} + +func HandleFallbackChannelSet(_ *discordgo.Session, i *discordgo.InteractionCreate, data discordgo.MessageComponentInteractionData, resp *cmd.ResponseBuilder) { + resp.IsEphemeral() + + cfg := GetGuildConfig(i.GuildID) + channelID := data.Values[0] + + cfg.FallbackChannel = channelID + err := cfg.Save() + if err != nil { + logger.Alert("config/channel.go - Saving fallback channel", err.Error()) + if err = resp.SetMessage("Erreur lors de la sauvegarde du salon").Send(); err != nil { + logger.Alert("config/channel.go - Sending error while saving channel", err.Error()) + } + return + } + if err = resp.SetMessage("Salon sauvegardé.").Send(); err != nil { + logger.Alert("config/channel.go - Sending channel saved", err.Error()) + } +} diff --git a/config/xp_role.go b/config/xp_role.go index bed5c57..8f98265 100644 --- a/config/xp_role.go +++ b/config/xp_role.go @@ -87,7 +87,7 @@ func HandleXpRoleAddRole(_ *discordgo.Session, i *discordgo.InteractionCreate, d if r.RoleID == roleId { err := resp.SetMessage("Le rôle est déjà présent dans la config").Send() if err != nil { - logger.Alert("commands/config.go - Role already in config", err.Error()) + logger.Alert("config/xp_role.go - Role already in config", err.Error()) } return } @@ -99,7 +99,7 @@ func HandleXpRoleAddRole(_ *discordgo.Session, i *discordgo.InteractionCreate, d err := cfg.Save() if err != nil { logger.Alert( - "commands/config.go - Saving config", + "config/xp_role.go - Saving config", err.Error(), "guild_id", i.GuildID, "role_id", roleId, @@ -107,7 +107,7 @@ func HandleXpRoleAddRole(_ *discordgo.Session, i *discordgo.InteractionCreate, d ) } if err = resp.IsEphemeral().SetMessage("Rôle ajouté.").Send(); err != nil { - logger.Alert("commands/config.go - Sending success", err.Error()) + logger.Alert("config/xp_role.go - Sending success", err.Error()) } } @@ -118,7 +118,7 @@ func HandleXpRoleEditRole(_ *discordgo.Session, i *discordgo.InteractionCreate, if r == nil { err := resp.SetMessage("Le rôle n'a pas été trouvé dans la config.").Send() if err != nil { - logger.Alert("commands/config.go - Role not found (edit)", err.Error()) + logger.Alert("config/xp_role.go - Role not found (edit)", err.Error()) } return } @@ -126,7 +126,7 @@ func HandleXpRoleEditRole(_ *discordgo.Session, i *discordgo.InteractionCreate, err := gokord.DB.Save(r).Error if err != nil { logger.Alert( - "commands/config.go - Saving config", + "config/xp_role.go - Saving config", err.Error(), "guild_id", i.GuildID, "role_id", roleId, @@ -134,7 +134,7 @@ func HandleXpRoleEditRole(_ *discordgo.Session, i *discordgo.InteractionCreate, ) } if err = resp.IsEphemeral().SetMessage("Rôle modifié.").Send(); err != nil { - logger.Alert("commands/config.go - Sending success", err.Error()) + logger.Alert("config/xp_role.go - Sending success", err.Error()) } } @@ -155,14 +155,14 @@ func HandleXpRoleDelRole(_ *discordgo.Session, i *discordgo.InteractionCreate, d if r == nil { err := resp.SetMessage("Le rôle n'a pas été trouvé dans la config.").Send() if err != nil { - logger.Alert("commands/config.go - Sending role not found (del)", err.Error()) + logger.Alert("config/xp_role.go - Sending role not found (del)", err.Error()) } return } err := gokord.DB.Delete(r).Error if err != nil { logger.Alert( - "commands/config.go - Deleting entry", + "config/xp_role.go - Deleting entry", err.Error(), "guild_id", i.GuildID, "role_id", roleId, @@ -170,7 +170,7 @@ func HandleXpRoleDelRole(_ *discordgo.Session, i *discordgo.InteractionCreate, d ) } if err = resp.IsEphemeral().SetMessage("Rôle supprimé.").Send(); err != nil { - logger.Alert("commands/config.go - Sending success", err.Error()) + logger.Alert("config/xp_role.go - Sending success", err.Error()) } } |
