aboutsummaryrefslogtreecommitdiff
path: root/exp/functions.go
diff options
context:
space:
mode:
Diffstat (limited to 'exp/functions.go')
-rw-r--r--exp/functions.go27
1 files changed, 21 insertions, 6 deletions
diff --git a/exp/functions.go b/exp/functions.go
index 119b6a8..2608094 100644
--- a/exp/functions.go
+++ b/exp/functions.go
@@ -2,10 +2,13 @@ package exp
import (
"fmt"
- "github.com/anhgelus/gokord"
"math"
+ "regexp"
"slices"
+ "strings"
"time"
+
+ "github.com/anhgelus/gokord"
)
func MessageXP(length uint, diversity uint) uint {
@@ -48,12 +51,24 @@ func LevelXP(level uint) uint {
// TimeStampNDaysBefore returns the timestamp (year-month-day) n days before today
func TimeStampNDaysBefore(n uint) string {
- var y, d int
- var m time.Month
+ var unix time.Time
if gokord.Debug {
- y, m, d = time.Unix(time.Now().Unix()-int64(24*60*60), 0).Date() // reduce time for debug
+ unix = time.Unix(time.Now().Unix()-int64(n), 0) // reduce time for debug
} else {
- y, m, d = time.Unix(time.Now().Unix()-int64(n*24*60*60), 0).Date()
+ unix = time.Unix(time.Now().Unix()-int64(n*24*60*60), 0)
}
- return fmt.Sprintf("%d-%d-%d", y, m, d)
+ unix = unix.UTC()
+ return fmt.Sprintf("%d-%d-%d %d:%d:%d UTC", unix.Year(), unix.Month(), unix.Day(), unix.Hour(), unix.Minute(), unix.Second())
+}
+
+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, " ")
}