diff options
Diffstat (limited to 'exp')
| -rw-r--r-- | exp/functions.go | 27 |
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, " ") } |
