aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--events.go13
-rw-r--r--exp/functions.go11
2 files changed, 12 insertions, 12 deletions
diff --git a/events.go b/events.go
index 4e23b69..6974606 100644
--- a/events.go
+++ b/events.go
@@ -10,7 +10,6 @@ import (
"github.com/anhgelus/les-copaings-bot/user"
"github.com/bwmarrin/discordgo"
"github.com/redis/go-redis/v9"
- "slices"
"strconv"
"strings"
"time"
@@ -37,7 +36,7 @@ func OnMessage(s *discordgo.Session, m *discordgo.MessageCreate) {
trimmed := utils.TrimMessage(strings.ToLower(m.Content))
m.Member.User = m.Author
m.Member.GuildID = m.GuildID
- xp := exp.MessageXP(uint(len(trimmed)), calcDiversity(trimmed))
+ xp := exp.MessageXP(uint(len(trimmed)), exp.CalcDiversity(trimmed))
if xp > MaxXpPerMessage {
xp = MaxXpPerMessage
}
@@ -52,16 +51,6 @@ func OnMessage(s *discordgo.Session, m *discordgo.MessageCreate) {
})
}
-func calcDiversity(msg string) uint {
- var chars []rune
- for _, c := range []rune(msg) {
- if !slices.Contains(chars, c) {
- chars = append(chars, c)
- }
- }
- return uint(len(chars))
-}
-
func OnVoiceUpdate(s *discordgo.Session, e *discordgo.VoiceStateUpdate) {
if e.Member.User.Bot {
return
diff --git a/exp/functions.go b/exp/functions.go
index da535c4..c69ef26 100644
--- a/exp/functions.go
+++ b/exp/functions.go
@@ -3,6 +3,7 @@ package exp
import (
"github.com/anhgelus/gokord"
"math"
+ "slices"
)
func MessageXP(length uint, diversity uint) uint {
@@ -11,6 +12,16 @@ func MessageXP(length uint, diversity uint) uint {
))
}
+func CalcDiversity(msg string) uint {
+ var chars []rune
+ for _, c := range []rune(msg) {
+ if !slices.Contains(chars, c) {
+ chars = append(chars, c)
+ }
+ }
+ return uint(len(chars))
+}
+
func VocalXP(time uint) uint {
return uint(math.Floor(
0.01*math.Pow(float64(time), 1.3) + 1,