package utils import ( "regexp" "strings" "go.uber.org/zap" ) const ( EndTag = "NNNN" Expression = "(?s)ZCZC.*NNNN" ) var buffer []byte func Append(data []byte) { buffer = append(buffer, data...) if buffer[len(buffer)-1] == '\r' { buffer = append(buffer, '\n') } check() } func check() { teleString := string(buffer) if strings.Index(teleString, EndTag) > 0 { exp, _ := regexp.Compile(Expression) telegram := exp.FindString(string(buffer)) if len(telegram) > 0 { Log.Info("telegram ", zap.String("text", telegram)) buffer = nil InsertTelegram(telegram) } } }