1
0

stripping emojis, starting to isolate text logic / decoupling

This commit is contained in:
2020-12-07 10:06:44 +01:00
parent bb0ad2c580
commit 92a948a7bd
2 changed files with 38 additions and 8 deletions

View File

@ -4,6 +4,7 @@ import (
"fmt"
"os"
"os/exec"
"regexp"
"strings"
"time"
@ -35,6 +36,27 @@ func maxString(s string, max int) string {
return s
}
func stripEmoji(msg string) string {
re := regexp.MustCompile(`:\w+:`)
match := re.FindAll([]byte(msg), -1)
if len(match) > 0 {
s := msg
for i := range match {
s = strings.Replace(s, string(match[i]), "", -1)
}
return s
} else {
return msg
}
}
func prepareTTSMessage(msg string) string {
t1 := maxString(msg, 300)
t2 := stripEmoji(t1)
t3 := removeCharacters(t2, "-\"'`$();:.\\")
return strings.Trim(t3, " ")
}
func createAudio(msg string) ([]byte, error, string) {
curr_time := time.Now().Unix()
var filename string = fmt.Sprintf("/tmp/%d.mp3", curr_time)
@ -72,7 +94,8 @@ func MessageAudio(s *discordgo.Session, m *discordgo.MessageCreate) {
var prefix string = "/gogodisco audio"
if strings.HasPrefix(m.Content, prefix) {
var message string = strings.TrimPrefix(m.Content, prefix)
_, _, filename := createAudio(removeCharacters(message, "-\"'`$();:."))
var cleanMessage string = prepareTTSMessage(message)
_, _, filename := createAudio(cleanMessage)
file, _ := os.Open(filename)
s.ChannelFileSend(m.ChannelID, filename, file)
}