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

44 lines
846 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 exp, _ = regexp.Compile(Expression)
var RawLog *rotatelogs.RotateLogs
func Append(data string) bool {
buffer += data
return check()
}
func check() bool {
teleString := buffer
if strings.Index(teleString, EndTag) > 0 {
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")
}