diff --git a/events.go b/events.go index 3e55e4b..e5fd37a 100644 --- a/events.go +++ b/events.go @@ -31,7 +31,7 @@ func OnMessage(s *discordgo.Session, m *discordgo.MessageCreate) { } c := user.GetCopaing(m.Author.ID, m.GuildID) // add exp - trimmed := utils.TrimMessage(strings.ToLower(m.Content)) + trimmed := exp.TrimMessage(strings.ToLower(m.Content)) m.Member.User = m.Author m.Member.GuildID = m.GuildID xp := min(exp.MessageXP(uint(len(trimmed)), exp.CalcDiversity(trimmed)), MaxXpPerMessage) diff --git a/exp/functions.go b/exp/functions.go index 119b6a8..026eb34 100644 --- a/exp/functions.go +++ b/exp/functions.go @@ -4,7 +4,9 @@ import ( "fmt" "github.com/anhgelus/gokord" "math" + "regexp" "slices" + "strings" "time" ) @@ -57,3 +59,15 @@ func TimeStampNDaysBefore(n uint) string { } return fmt.Sprintf("%d-%d-%d", y, m, d) } + +func TrimMessage(s string) string { + not := regexp.MustCompile("[^a-zA-Z0-9éèêàùûç,;:!.?]") + ping := regexp.MustCompile("<(@&?|#)[0-9]{18}>") + link := regexp.MustCompile("https?://[a-zA-Z0-9.]+[.][a-z]+.*") + + s = ping.ReplaceAllLiteralString(s, "") + s = link.ReplaceAllLiteralString(s, "") + s = not.ReplaceAllLiteralString(s, "") + + return strings.Trim(s, " ") +}