From f2b6901223a75a6cea241fb4a678b4515ad5d437 Mon Sep 17 00:00:00 2001 From: Guimc Date: Sat, 27 Jan 2024 11:01:34 +0800 Subject: [PATCH 1/2] fix ForwardMsgAdapter --- .../cn/evole/onebot/sdk/util/json/ForwardMsgAdapter.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/onebot/src/main/java/cn/evole/onebot/sdk/util/json/ForwardMsgAdapter.java b/onebot/src/main/java/cn/evole/onebot/sdk/util/json/ForwardMsgAdapter.java index 2e8f7350..3cd3d6d8 100644 --- a/onebot/src/main/java/cn/evole/onebot/sdk/util/json/ForwardMsgAdapter.java +++ b/onebot/src/main/java/cn/evole/onebot/sdk/util/json/ForwardMsgAdapter.java @@ -14,7 +14,12 @@ public class ForwardMsgAdapter implements JsonDeserializer { public ForwardMsgResp deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) { List nodes = new ArrayList<>(); JsonObject jsonObj = json.getAsJsonObject(); - JsonArray messagesArray = jsonObj.get("messages").getAsJsonArray(); + JsonArray messagesArray; + try { + messagesArray = jsonObj.get("messages").getAsJsonArray(); + } catch (NullPointerException ignored) { + messagesArray = jsonObj.get("message").getAsJsonArray(); + } for (JsonElement jsonElement : messagesArray) { JsonsObject obj = new JsonsObject(jsonElement.getAsJsonObject()); int time = obj.optInt("time"); From 605ff666ce69f66dfd90df17ab387f83de37eb18 Mon Sep 17 00:00:00 2001 From: Guimc Date: Sat, 27 Jan 2024 11:18:42 +0800 Subject: [PATCH 2/2] fix ForwardMsgAdapter --- .../evole/onebot/sdk/util/json/ForwardMsgAdapter.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/onebot/src/main/java/cn/evole/onebot/sdk/util/json/ForwardMsgAdapter.java b/onebot/src/main/java/cn/evole/onebot/sdk/util/json/ForwardMsgAdapter.java index 3cd3d6d8..7f5f8ece 100644 --- a/onebot/src/main/java/cn/evole/onebot/sdk/util/json/ForwardMsgAdapter.java +++ b/onebot/src/main/java/cn/evole/onebot/sdk/util/json/ForwardMsgAdapter.java @@ -14,13 +14,12 @@ public class ForwardMsgAdapter implements JsonDeserializer { public ForwardMsgResp deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) { List nodes = new ArrayList<>(); JsonObject jsonObj = json.getAsJsonObject(); - JsonArray messagesArray; - try { - messagesArray = jsonObj.get("messages").getAsJsonArray(); - } catch (NullPointerException ignored) { - messagesArray = jsonObj.get("message").getAsJsonArray(); + JsonElement messagesArray; + messagesArray = jsonObj.get("messages"); + if (messagesArray == null) { + messagesArray = jsonObj.get("message"); } - for (JsonElement jsonElement : messagesArray) { + for (JsonElement jsonElement : messagesArray.getAsJsonArray()) { JsonsObject obj = new JsonsObject(jsonElement.getAsJsonObject()); int time = obj.optInt("time"); String messageType = obj.optString("message_type");