diff --git a/commands/config.go b/commands/config.go index b6e6854..b62d413 100644 --- a/commands/config.go +++ b/commands/config.go @@ -2,13 +2,14 @@ package commands import ( "fmt" + "strings" + "github.com/anhgelus/gokord/cmd" "github.com/anhgelus/gokord/component" "github.com/anhgelus/gokord/logger" "github.com/anhgelus/les-copaings-bot/config" "github.com/anhgelus/les-copaings-bot/exp" "github.com/bwmarrin/discordgo" - "strings" ) const ( @@ -48,15 +49,40 @@ func Config(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMa } else { defaultChan = fmt.Sprintf("<#%s>", cfg.FallbackChannel) } + //comp := component.New(). + // Add(component.NewTextDisplay("# Config")). + // Add(component.NewTextDisplay("**Salon par défaut**\n" + defaultChan)). + // Add(component.NewSeparator()). + // Add(component.NewTextDisplay("**Rôles liés aux niveaux**\n" + roles)). + // Add(component.NewSeparator()). + // Add(component.NewTextDisplay("**Salons désactivés**\n" + chans)). + // Add(component.NewSeparator()). + // Add(component.NewTextDisplay(fmt.Sprintf("**%s**\n%d", "Jours avant la réduction", cfg.DaysXPRemains))). + // Add(component.NewActionRow().Add(component.NewStringSelect(ConfigModify). + // SetPlaceholder("Modifier..."). + // AddOption( + // component.NewSelectOption("Rôles liés à l'XP", config.ModifyXpRole). + // SetDescription("Gère les rôles liés à l'XP"). + // SetEmoji(&discordgo.ComponentEmoji{Name: "🏅"}), + // ). + // AddOption( + // component.NewSelectOption("Salons désactivés", config.ModifyDisChannel). + // SetDescription("Gère les salons désactivés"). + // SetEmoji(&discordgo.ComponentEmoji{Name: "❌"}), + // ). + // AddOption( + // // I don't have a better idea for this... + // component.NewSelectOption("Salons par défaut", config.ModifyFallbackChannel). + // SetDescription("Spécifie le salon par défaut"). + // SetEmoji(&discordgo.ComponentEmoji{Name: "💾"}), + // ). + // AddOption( + // component.NewSelectOption("Temps avec la réduction", config.ModifyTimeReduce). + // SetDescription("Gère le temps avant la réduction d'XP"). + // SetEmoji(&discordgo.ComponentEmoji{Name: "⌛"}), + // ), + // )) comp := component.New(). - Add(component.NewTextDisplay("# Config")). - Add(component.NewTextDisplay("**Salon par défaut**\n" + defaultChan)). - Add(component.NewSeparator()). - Add(component.NewTextDisplay("**Rôles liés aux niveaux**\n" + roles)). - Add(component.NewSeparator()). - Add(component.NewTextDisplay("**Salons désactivés**\n" + chans)). - Add(component.NewSeparator()). - Add(component.NewTextDisplay(fmt.Sprintf("**%s**\n%d", "Jours avant la réduction", cfg.DaysXPRemains))). Add(component.NewActionRow().Add(component.NewStringSelect(ConfigModify). SetPlaceholder("Modifier..."). AddOption( @@ -81,7 +107,14 @@ func Config(_ *discordgo.Session, i *discordgo.InteractionCreate, _ cmd.OptionMa SetEmoji(&discordgo.ComponentEmoji{Name: "⌛"}), ), )) - err := resp.SetComponents(comp).IsEphemeral().Send() + msg := fmt.Sprintf( + "# Config\n**Salon par défaut**\n%s\n\n**Rôles liés aux niveaux**\n%s\n\n**Salons désactivés**\n%s\n\n**Jours avant la réduction**\n%d", + defaultChan, + roles, + chans, + cfg.DaysXPRemains, + ) + err := resp.SetComponents(comp).SetMessage(msg).IsEphemeral().Send() if err != nil { logger.Alert("config/guild.go - Sending config", err.Error()) } diff --git a/config/guild.go b/config/guild.go index 3071d95..8384d5b 100644 --- a/config/guild.go +++ b/config/guild.go @@ -1,9 +1,9 @@ package config import ( - "github.com/anhgelus/gokord" - "github.com/anhgelus/gokord/logger" "strings" + + "github.com/anhgelus/gokord" ) type GuildConfig struct { @@ -18,8 +18,7 @@ type GuildConfig struct { func GetGuildConfig(guildID string) *GuildConfig { cfg := GuildConfig{GuildID: guildID} if err := cfg.Load(); err != nil { - logger.Alert("config/guild.go - Loading guild config", err.Error(), "guild_id", guildID) - return nil + panic(err) } return &cfg } diff --git a/create_db.sh b/create_db.sh new file mode 100644 index 0000000..b098405 --- /dev/null +++ b/create_db.sh @@ -0,0 +1,5 @@ +#!/usr/bin/bash + +podman network create db +podman run -p 5432:5432 --rm --network db --name postgres --env-file .env -v ./data:/var/lib/postgres/data -d postgres:alpine +podman run -p 8080:8080 --rm --network db --name adminer -d adminer \ No newline at end of file diff --git a/go.mod b/go.mod index 76e2ee0..2a9e497 100644 --- a/go.mod +++ b/go.mod @@ -3,11 +3,11 @@ module github.com/anhgelus/les-copaings-bot go 1.24 require ( - github.com/anhgelus/gokord v0.11.1-0.20250806143823-567c33f63688 + github.com/anhgelus/gokord v0.11.1-0.20250807111049-5de23912c524 github.com/bwmarrin/discordgo v0.29.0 github.com/joho/godotenv v1.5.1 github.com/pelletier/go-toml/v2 v2.2.4 - gorm.io/driver/postgres v1.5.11 + gorm.io/driver/postgres v1.6.0 gorm.io/gorm v1.30.1 ) @@ -21,9 +21,9 @@ require ( github.com/jackc/puddle/v2 v2.2.2 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect - github.com/redis/go-redis/v9 v9.12.0 // indirect - golang.org/x/crypto v0.40.0 // indirect + github.com/redis/go-redis/v9 v9.12.1 // indirect + golang.org/x/crypto v0.41.0 // indirect golang.org/x/sync v0.16.0 // indirect - golang.org/x/sys v0.34.0 // indirect - golang.org/x/text v0.27.0 // indirect + golang.org/x/sys v0.35.0 // indirect + golang.org/x/text v0.28.0 // indirect ) diff --git a/go.sum b/go.sum index cdae0a5..df19706 100644 --- a/go.sum +++ b/go.sum @@ -10,6 +10,8 @@ github.com/anhgelus/gokord v0.11.1-0.20250806122118-84c56722e29d h1:cbhaSdjjipiF github.com/anhgelus/gokord v0.11.1-0.20250806122118-84c56722e29d/go.mod h1:4xpwLzIG34/XG9QZiPsnYScQhckiCpQMAI0CjP0Nc2k= github.com/anhgelus/gokord v0.11.1-0.20250806143823-567c33f63688 h1:0ngeLQxHr80Xup9UnPSjpdRH3ZpIH1mpf0ig3sEFVJk= github.com/anhgelus/gokord v0.11.1-0.20250806143823-567c33f63688/go.mod h1:4xpwLzIG34/XG9QZiPsnYScQhckiCpQMAI0CjP0Nc2k= +github.com/anhgelus/gokord v0.11.1-0.20250807111049-5de23912c524 h1:mK7UtqJPNYhStRVeZ2N4c89tjlhlRZX0LcLs7TAB34I= +github.com/anhgelus/gokord v0.11.1-0.20250807111049-5de23912c524/go.mod h1:4xpwLzIG34/XG9QZiPsnYScQhckiCpQMAI0CjP0Nc2k= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= @@ -46,6 +48,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/redis/go-redis/v9 v9.12.0 h1:XlVPGlflh4nxfhsNXPA8Qp6EmEfTo0rp8oaBzPipXnU= github.com/redis/go-redis/v9 v9.12.0/go.mod h1:huWgSWd8mW6+m0VPhJjSSQ+d6Nh1VICQ6Q5lHuCH/Iw= +github.com/redis/go-redis/v9 v9.12.1 h1:k5iquqv27aBtnTm2tIkROUDp8JBXhXZIVu1InSgvovg= +github.com/redis/go-redis/v9 v9.12.1/go.mod h1:huWgSWd8mW6+m0VPhJjSSQ+d6Nh1VICQ6Q5lHuCH/Iw= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -54,16 +58,22 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -71,5 +81,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/driver/postgres v1.5.11 h1:ubBVAfbKEUld/twyKZ0IYn9rSQh448EdelLYk9Mv314= gorm.io/driver/postgres v1.5.11/go.mod h1:DX3GReXH+3FPWGrrgffdvCk3DQ1dwDPdmbenSkweRGI= +gorm.io/driver/postgres v1.6.0 h1:2dxzU8xJ+ivvqTRph34QX+WrRaJlmfyPqXmoGVjMBa4= +gorm.io/driver/postgres v1.6.0/go.mod h1:vUw0mrGgrTK+uPHEhAdV4sfFELrByKVGnaVRkXDhtWo= gorm.io/gorm v1.30.1 h1:lSHg33jJTBxs2mgJRfRZeLDG+WZaHYCk3Wtfl6Ngzo4= gorm.io/gorm v1.30.1/go.mod h1:8Z33v652h4//uMA76KjeDH8mJXPm1QNCYrMeatR0DOE= diff --git a/restart.sh b/restart.sh deleted file mode 100644 index ddb9128..0000000 --- a/restart.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/bash - -podman compose down && podman compose build && podman compose up -d \ No newline at end of file