diff --git a/procEcho.go b/procEcho.go index 546b6c1..82e6aac 100644 --- a/procEcho.go +++ b/procEcho.go @@ -58,7 +58,12 @@ func echoServe(ss *openIDSessionData, in InWechatMsg) { func echoSummary(ss *openIDSessionData) { msg := ss.getVal("started at") - msg = msg + "\n" + ss.getVal("msg") + allmsg := ss.getVal("msg") //may be too long + if len(allmsg) > 2000 { + sub := allmsg[0:2000] + "..." + allmsg = sub + } + msg = msg + "\n" + allmsg kfSendTxt(ss.OpenID, msg) } @@ -74,9 +79,7 @@ func echoCommand(ss *openIDSessionData, in InWechatMsg) { case TextMsg: m := in.body.(TextMsg) str, err = BuildTextMsg(openID, m.Content+"\n\n关键词 [转接] 将后续信息都转接到 客服 测试版") - msg := ss.getVal("msg") - msg = msg + m.Content + "\n" - ss.setKvPair("msg", msg) + procEchoRecordMsg(ss, "文字:"+m.Content) in.replyXML(str) case PicMsg: m := in.body.(PicMsg) @@ -86,9 +89,7 @@ func echoCommand(ss *openIDSessionData, in InWechatMsg) { m := in.body.(VoiceMsg) str = buildVoiceMsg(openID, m.MediaId) in.replyXML(str) - msg := ss.getVal("msg") - msg = msg + m.Recognition + "\n" - ss.setKvPair("msg", msg) + procEchoRecordMsg(ss, "音译:"+m.Recognition) kfSendTxt(openID, "翻译结果:"+m.Recognition) case VideoMsg: m := in.body.(VideoMsg) @@ -180,3 +181,9 @@ func location2URL(lat, long float64) (url string) { log.Println(url) return } + +func procEchoRecordMsg(ss *openIDSessionData, newmsg string) { + msg := ss.getVal("msg") + msg = msg + newmsg + "\n" + ss.setKvPair("msg", msg) +}