diff --git a/README.md b/README.md index c5d091e..5b08e59 100644 --- a/README.md +++ b/README.md @@ -320,6 +320,7 @@ API 文档 | :--- | :--- | | ActivityEventPackageEvent | 收到 ACTIVITY_EVENT 数据包 | | ChangeRoomInfoPackageEvent | 收到 CHANGE_ROOM_INFO 数据包 | +| ComboEndPackageEvent | 收到 COMBO_END 数据包 | | ConnectionCloseEvent | 连接断开(主动或被动) | | ConnectSucceedEvent | 进房成功 | | CutOffPackageEvent | 收到 CUT_OFF 数据包 | diff --git a/build.gradle b/build.gradle index df2f401..86d3d58 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ group = 'com.hiczp' -version = '0.0.15' +version = '0.0.16' description = 'Bilibili android client API library written in Java' apply plugin: 'idea' diff --git a/record/bullet_screen_stream_json/COMBO_END.json b/record/bullet_screen_stream_json/COMBO_END.json new file mode 100644 index 0000000..d3a1a3d --- /dev/null +++ b/record/bullet_screen_stream_json/COMBO_END.json @@ -0,0 +1,13 @@ +{ + "cmd": "COMBO_END", + "data": { + "uname": "打死安迷修-雷狮", + "r_uname": "Jinko_神子", + "combo_num": 1, + "price": 200, + "gift_name": "flag", + "gift_id": 20002, + "start_time": 1527929335, + "end_time": 1527929335 + } +} diff --git a/src/main/java/com/hiczp/bilibili/api/live/socket/entity/ComboEndEntity.java b/src/main/java/com/hiczp/bilibili/api/live/socket/entity/ComboEndEntity.java new file mode 100644 index 0000000..312f8fd --- /dev/null +++ b/src/main/java/com/hiczp/bilibili/api/live/socket/entity/ComboEndEntity.java @@ -0,0 +1,125 @@ +package com.hiczp.bilibili.api.live.socket.entity; + +import com.google.gson.annotations.SerializedName; + +public class ComboEndEntity implements DataEntity { + /** + * cmd : COMBO_END + * data : {"uname":"打死安迷修-雷狮","r_uname":"Jinko_神子","combo_num":1,"price":200,"gift_name":"flag","gift_id":20002,"start_time":1527929335,"end_time":1527929335} + */ + + @SerializedName("cmd") + private String cmd; + @SerializedName("data") + private Data data; + + public String getCmd() { + return cmd; + } + + public void setCmd(String cmd) { + this.cmd = cmd; + } + + public Data getData() { + return data; + } + + public void setData(Data data) { + this.data = data; + } + + public static class Data { + /** + * uname : 打死安迷修-雷狮 + * r_uname : Jinko_神子 + * combo_num : 1 + * price : 200 + * gift_name : flag + * gift_id : 20002 + * start_time : 1527929335 + * end_time : 1527929335 + */ + + @SerializedName("uname") + private String username; + @SerializedName("r_uname") + private String roomUsername; + @SerializedName("combo_num") + private int comboNumber; + @SerializedName("price") + private int price; + @SerializedName("gift_name") + private String giftName; + @SerializedName("gift_id") + private int giftId; + @SerializedName("start_time") + private long startTime; + @SerializedName("end_time") + private long endTime; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getRoomUsername() { + return roomUsername; + } + + public void setRoomUsername(String roomUsername) { + this.roomUsername = roomUsername; + } + + public int getComboNumber() { + return comboNumber; + } + + public void setComboNumber(int comboNumber) { + this.comboNumber = comboNumber; + } + + public int getPrice() { + return price; + } + + public void setPrice(int price) { + this.price = price; + } + + public String getGiftName() { + return giftName; + } + + public void setGiftName(String giftName) { + this.giftName = giftName; + } + + public int getGiftId() { + return giftId; + } + + public void setGiftId(int giftId) { + this.giftId = giftId; + } + + public long getStartTime() { + return startTime; + } + + public void setStartTime(long startTime) { + this.startTime = startTime; + } + + public long getEndTime() { + return endTime; + } + + public void setEndTime(long endTime) { + this.endTime = endTime; + } + } +} diff --git a/src/main/java/com/hiczp/bilibili/api/live/socket/event/ComboEndPackageEvent.java b/src/main/java/com/hiczp/bilibili/api/live/socket/event/ComboEndPackageEvent.java new file mode 100644 index 0000000..a6c87d5 --- /dev/null +++ b/src/main/java/com/hiczp/bilibili/api/live/socket/event/ComboEndPackageEvent.java @@ -0,0 +1,10 @@ +package com.hiczp.bilibili.api.live.socket.event; + +import com.hiczp.bilibili.api.live.socket.LiveClient; +import com.hiczp.bilibili.api.live.socket.entity.ComboEndEntity; + +public class ComboEndPackageEvent extends ReceiveDataPackageEvent { + public ComboEndPackageEvent(LiveClient source, ComboEndEntity entity) { + super(source, entity); + } +} diff --git a/src/main/java/com/hiczp/bilibili/api/live/socket/handler/LiveClientHandler.java b/src/main/java/com/hiczp/bilibili/api/live/socket/handler/LiveClientHandler.java index 694af6e..16d3cc1 100644 --- a/src/main/java/com/hiczp/bilibili/api/live/socket/handler/LiveClientHandler.java +++ b/src/main/java/com/hiczp/bilibili/api/live/socket/handler/LiveClientHandler.java @@ -91,6 +91,11 @@ public class LiveClientHandler extends SimpleChannelInboundHandler { eventCreationExpression = () -> new SendGiftPackageEvent(liveClient, GSON.fromJson(jsonObject, SendGiftEntity.class)); } break; + //TODO 尚不明确 COMBO_END 是什么意思 + case "COMBO_END": { + eventCreationExpression = () -> new ComboEndPackageEvent(liveClient, GSON.fromJson(jsonObject, ComboEndEntity.class)); + } + break; //欢迎 case "WELCOME": { eventCreationExpression = () -> new WelcomePackageEvent(liveClient, GSON.fromJson(jsonObject, WelcomeEntity.class));