Skip to content

Commit 7daa3d6

Browse files
committed
fix json api resp
1 parent 3569092 commit 7daa3d6

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

pkg/bot/remote.go

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -123,13 +123,14 @@ func OnWsRecvMessage(cli *client.QQClient) func(ws *safe_ws.SafeWebSocket, messa
123123
return
124124
}
125125
var apiReq onebot.Frame
126-
if messageType == websocket.BinaryMessage {
126+
switch messageType {
127+
case websocket.BinaryMessage:
127128
err := proto.Unmarshal(data, &apiReq)
128129
if err != nil {
129130
log.Errorf("收到API binary,解析错误 %v", err)
130131
return
131132
}
132-
} else if messageType == websocket.TextMessage {
133+
case websocket.TextMessage:
133134
err := jsonUnmarshaler.Unmarshal(bytes.NewReader(data), &apiReq)
134135
if err != nil {
135136
log.Errorf("收到API text,解析错误 %v", err)
@@ -140,12 +141,25 @@ func OnWsRecvMessage(cli *client.QQClient) func(ws *safe_ws.SafeWebSocket, messa
140141
log.Debugf("收到 apiReq 信息, %+v", util.MustMarshal(apiReq))
141142

142143
apiResp := handleApiFrame(cli, &apiReq)
143-
respBytes, err := apiResp.Marshal()
144-
if err != nil {
145-
log.Errorf("failed to marshal api resp, %+v", err)
144+
var (
145+
respBytes []byte
146+
err error
147+
)
148+
switch messageType {
149+
case websocket.BinaryMessage:
150+
respBytes, err = apiResp.Marshal()
151+
if err != nil {
152+
log.Errorf("failed to marshal api resp, %+v", err)
153+
}
154+
case websocket.TextMessage:
155+
respStr, err := jsonMarshaler.MarshalToString(apiResp)
156+
if err != nil {
157+
log.Errorf("failed to marshal api resp, %+v", err)
158+
}
159+
respBytes = []byte(respStr)
146160
}
147161
log.Debugf("发送 apiResp 信息, %+v", util.MustMarshal(apiResp))
148-
_ = ws.Send(websocket.BinaryMessage, respBytes)
162+
_ = ws.Send(messageType, respBytes)
149163
}
150164
}
151165

0 commit comments

Comments
 (0)