From a8c0a395acc257ac019851f69d9913fd3fa51c9f Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Mon, 15 Apr 2024 16:48:16 +0200 Subject: [PATCH] feat(xp): disable xp in disabled channels --- config/guild.go | 5 +++++ xp/events.go | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/config/guild.go b/config/guild.go index 5728759..6ed07c6 100644 --- a/config/guild.go +++ b/config/guild.go @@ -3,6 +3,7 @@ package config import ( "github.com/anhgelus/gokord" "gorm.io/gorm" + "strings" ) type GuildConfig struct { @@ -33,6 +34,10 @@ func (cfg *GuildConfig) Save() { gokord.DB.Save(cfg) } +func (cfg *GuildConfig) IsDisabled(channelID string) bool { + return strings.Contains(cfg.DisabledChannels, channelID) +} + func (cfg *GuildConfig) FindXpRole(roleID string) (int, *XpRole) { for i, r := range cfg.XpRoles { if r.RoleID == roleID { diff --git a/xp/events.go b/xp/events.go index f936bd2..9796e72 100644 --- a/xp/events.go +++ b/xp/events.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/anhgelus/gokord" "github.com/anhgelus/gokord/utils" + "github.com/anhgelus/les-copaings-bot/config" "github.com/bwmarrin/discordgo" "github.com/redis/go-redis/v9" "slices" @@ -24,6 +25,10 @@ func OnMessage(s *discordgo.Session, m *discordgo.MessageCreate) { if m.Author.Bot { return } + cfg := config.GetGuildConfig(m.GuildID) + if cfg.IsDisabled(m.ChannelID) { + return + } c := GetCopaing(m.Author.ID, m.GuildID) // add xp trimmed := utils.TrimMessage(strings.ToLower(m.Content))