diff --git a/qq_message/cq_message.go b/qq_message/cq_message.go index 70ee66a..c2d50b1 100644 --- a/qq_message/cq_message.go +++ b/qq_message/cq_message.go @@ -48,10 +48,11 @@ func CreateMessage(messageType string) (QQMessage, error) { } // ParseCQMessages 解析消息数组 -func ParseCQMessages(jsonData []byte) ([]QQMessage, error) { +func ParseCQMessages(jsonData []byte) []QQMessage { var rawMessages []RawMessage if err := json.Unmarshal(jsonData, &rawMessages); err != nil { - return nil, fmt.Errorf("解析 JSON 数组失败: %v", err) + log.Println("解析 JSON 数组失败:", err) + return nil } messages := make([]QQMessage, 0, len(rawMessages)) @@ -77,5 +78,5 @@ func ParseCQMessages(jsonData []byte) ([]QQMessage, error) { messages = append(messages, msg) } - return messages, nil + return messages } diff --git a/ws_client/client.go b/ws_client/client.go index ab0aed8..7518a3d 100644 --- a/ws_client/client.go +++ b/ws_client/client.go @@ -72,16 +72,11 @@ func (c *WebSocketClient) receiveMessages() { log.Println("Error unmarshalling message:", err) return } - structuredMsg, err := qq_message.ParseCQMessages([]byte(event.RawMessage)) - if err != nil { - log.Println("Error parsing message:", err) - return - } msg := model.Message{ UserId: event.UserID, OriginMsgId: event.MessageID, RawMsg: event.RawMessage, - StructuredMsg: structuredMsg, + StructuredMsg: qq_message.ParseCQMessages([]byte(event.RawMessage)), UserNickName: event.Sender.Nickname, }