Bladeren bron

session incoming message redesigned.

master
Patrick Peng Sun 8 jaren geleden
bovenliggende
commit
1bdee01a0a
1 gewijzigde bestanden met toevoegingen van 10 en 24 verwijderingen
  1. +10
    -24
      chatSession.go

+ 10
- 24
chatSession.go Bestand weergeven

@@ -58,7 +58,7 @@ func (ss *openIDSessionData) writeSession() (err error) {
} else {
log.Println("write session to " + path)
//save state
err = ss.state.Save(openID, ss.Procedure)
err = ss.state.Save()
if err != nil {
log.Printf("Error: cannot write session data %s", openID)
log.Println(err)
@@ -141,31 +141,17 @@ func (ss *openIDSessionData) incomingMsg(v InWechatMsg) {
openID := v.header.FromUserName
//kfSendTxtAs(openID, "信息收到"+v.header.MsgType, "孙鹏")
//are we in an existing procedure
inProc, state := isInProc(openID) //if inside a procedure, resume last saved state
if inProc {
ss.state = serveProc(state, v) //transit to new state
proc, found := AllProc[ss.Procedure]
if found {
proc.serve(ss, v) //transit to new state
} else {
state, processed := serveCommand(openID, v) //menu or txt command e.g. search
if !processed { // transfer to Customer Service (kf)
ss.state.response, _ = BuildTextMsg(openID, "已转接校友会理事会,稍后答复您")
} else {
ss.state = state
}
}

if ss.state.response != "" {
v.instantResponse <- ss.state.response
}

if !isEndingState(state) {
err := saveChatState(openID, state.Procedure, state)
if err != nil {
log.Println("Error Cannot Save chat sate")
log.Println(err)
log.Println(state)
processed := ss.serveCommand(v) //menu or txt command e.g. search
if !processed { // transfer to Customer Service (kf)
//start transfer
ss.state.response, _ = BuildKFTransferAnyOneMsg(openID)
v.immediateResponse(ss.state.response)
kfSendTxt(openID, "已转接校友会理事会,稍后答复您")
}
} else { //state ending
cleanProcedure(openID, state.Procedure)
}
return
}

Laden…
Annuleren
Opslaan