Files
tele-recv/utils/telegram.go
T
2020-12-29 11:30:19 +08:00

45 lines
854 B
Go

package utils
import (
"regexp"
"strings"
rotatelogs "github.com/lestrrat-go/file-rotatelogs"
)
const (
EndTag = "NNNN"
Expression = "(?s)ZCZC.*NNNN"
)
var buffer string
var RawLog *rotatelogs.RotateLogs
func Append(data string) bool {
buffer = buffer + data
return check()
}
func check() bool {
teleString := buffer
if strings.Index(teleString, EndTag) > 0 {
exp, _ := regexp.Compile(Expression)
telegram := exp.FindString(teleString)
if len(telegram) > 0 {
// Log.Info("telegram ", zap.String("text", telegram))
telegram = removeEmpty(telegram) + "\n\n"
telegram += "\n"
RawLog.Write([]byte(telegram + "\n"))
buffer = ""
InsertTelegram(telegram)
return true
}
}
return false
}
func removeEmpty(s string) string {
return regexp.MustCompile(`[\t\r\n]+`).ReplaceAllString(strings.TrimSpace(s), "\n")
}