mirror of
https://github.com/jwdeveloper/TikTokLiveJava.git
synced 2026-02-27 16:59:39 -05:00
Breaking changes:
'Gift': changed from class to enum, so now you can handle
incoming gifts in switch
`Events`
- new:
onGiftComboFinished
- Removed:
onGiftBrodcast
- Rename:
onGiftMessage -> onGift
onRoomPinMessage -> onRoomPin
onRoomMessage -> onRoom
onLinkMessage -> onLink
onBarrageMessage -> onBarrage
onPollMessage -> onPoll
onShopMessage -> onShop
onDetectMessage -> onDetect
`GiftManager`
added:
registerGift
findById
findByName
getGifts
removed:
getActiveGifts
This commit is contained in:
@@ -25,6 +25,8 @@ package io.github.jwdeveloper.tiktok.events;
|
||||
import io.github.jwdeveloper.tiktok.events.messages.*;
|
||||
import io.github.jwdeveloper.tiktok.events.messages.gift.TikTokGiftComboFinishedEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.messages.gift.TikTokGiftEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.messages.room.TikTokRoomEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.messages.room.TikTokRoomUserInfoEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.messages.social.TikTokFollowEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.messages.social.TikTokJoinEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.messages.social.TikTokLikeEvent;
|
||||
@@ -54,6 +56,7 @@ public interface TikTokEventBuilder<T> {
|
||||
|
||||
T onGift(TikTokEventConsumer<TikTokGiftEvent> event);
|
||||
|
||||
T onQuestion(TikTokEventConsumer<TikTokQuestionEvent> event);
|
||||
|
||||
T onSubscribe(TikTokEventConsumer<TikTokSubscribeEvent> event);
|
||||
|
||||
@@ -80,7 +83,6 @@ public interface TikTokEventBuilder<T> {
|
||||
|
||||
T onDisconnected(TikTokEventConsumer<TikTokDisconnectedEvent> event);
|
||||
|
||||
|
||||
T onError(TikTokEventConsumer<TikTokErrorEvent> event);
|
||||
|
||||
T onEvent(TikTokEventConsumer<TikTokEvent> event);
|
||||
@@ -99,7 +101,7 @@ public interface TikTokEventBuilder<T> {
|
||||
|
||||
//T onCaption(TikTokEventConsumer<TikTokCaptionEvent> event);
|
||||
|
||||
//T onQuestion(TikTokEventConsumer<TikTokQuestionEvent> event);
|
||||
|
||||
|
||||
//T onRoomPin(TikTokEventConsumer<TikTokRoomPinEvent> event);
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ public class TikTokBarrageEvent extends TikTokHeaderEvent {
|
||||
private final Picture rightIcon;
|
||||
private final String eventName;
|
||||
private final int duration;
|
||||
|
||||
private BarrageParam barrageParam;
|
||||
|
||||
public TikTokBarrageEvent(WebcastBarrageMessage msg) {
|
||||
@@ -50,15 +51,7 @@ public class TikTokBarrageEvent extends TikTokHeaderEvent {
|
||||
backGround = Picture.map(msg.getBackground());
|
||||
rightIcon = Picture.map(msg.getRightIcon());
|
||||
duration = msg.getDuration();
|
||||
switch (msg.getMsgType()) {
|
||||
case GRADEUSERENTRANCENOTIFICATION:
|
||||
barrageParam = new UserGradeParam(msg.getUserGradeParam());
|
||||
case FANSLEVELUPGRADE:
|
||||
barrageParam = new FansLevelParam(msg.getFansLevelParam());
|
||||
case SUBSCRIBEGIFT:
|
||||
barrageParam = new SubscribeGiftParam(msg.getSubscribeGiftParam());
|
||||
default:
|
||||
barrageParam = new BarrageParam();
|
||||
}
|
||||
barrageParam = BarrageParam.map(msg);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ public class TikTokCaptionEvent extends TikTokHeaderEvent {
|
||||
String text;
|
||||
|
||||
public TikTokCaptionEvent(WebcastCaptionMessage msg) {
|
||||
super(msg.getCommon());
|
||||
super(msg.getCommon());
|
||||
captionTimeStamp = msg.getTimeStamp();
|
||||
iSOLanguage = msg.getCaptionData().getLanguage();
|
||||
text = msg.getCaptionData().getText();
|
||||
|
||||
@@ -28,11 +28,15 @@ import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastImDeleteMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokIMDeleteEvent extends TikTokHeaderEvent {
|
||||
|
||||
List<Long> userIds;
|
||||
public TikTokIMDeleteEvent(WebcastImDeleteMessage msg) {
|
||||
super(msg.getHeader());
|
||||
super(msg.getCommon());
|
||||
this.userIds = msg.getDeleteUserIdsListList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,6 @@ import lombok.Getter;
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokLinkMicFanTicketEvent extends TikTokHeaderEvent {
|
||||
|
||||
|
||||
public TikTokLinkMicFanTicketEvent(WebcastLinkMicFanTicketMethod msg) {
|
||||
super(msg.getCommon());
|
||||
}
|
||||
|
||||
@@ -36,22 +36,15 @@ Triggered every time someone asks a new question via the question feature.
|
||||
@EventMeta(eventType = EventType.Message)
|
||||
public class TikTokQuestionEvent extends TikTokHeaderEvent {
|
||||
private final Long questionId;
|
||||
|
||||
private final String text;
|
||||
|
||||
private final Long time;
|
||||
|
||||
private User user;
|
||||
|
||||
|
||||
private final User user;
|
||||
public TikTokQuestionEvent(WebcastQuestionNewMessage msg) {
|
||||
super(msg.getCommon());
|
||||
var data = msg.getDetails();
|
||||
questionId = data.getId();
|
||||
text = data.getText();
|
||||
time = data.getTimeStamp();
|
||||
if (data.hasUser()) {
|
||||
user = new User(data.getUser());
|
||||
}
|
||||
user = User.map(data.getUser());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ public class TikTokShopEvent extends TikTokHeaderEvent {
|
||||
|
||||
private final String shopName;
|
||||
|
||||
//Not working
|
||||
public TikTokShopEvent(WebcastOecLiveShoppingMessage msg) {
|
||||
super(msg.getCommon());
|
||||
var data = msg.getShopData();
|
||||
|
||||
@@ -40,8 +40,6 @@ import lombok.Getter;
|
||||
public class TikTokGiftEvent extends TikTokHeaderEvent {
|
||||
private final Gift gift;
|
||||
private final User user;
|
||||
private final String purchaseId;
|
||||
private final String receipt;
|
||||
private final int combo;
|
||||
private final boolean comboFinished;
|
||||
private final int comboIndex;
|
||||
@@ -49,9 +47,7 @@ public class TikTokGiftEvent extends TikTokHeaderEvent {
|
||||
public TikTokGiftEvent(Gift gift, WebcastGiftMessage msg) {
|
||||
super(msg.getCommon());
|
||||
this.gift = gift;
|
||||
user = User.map(msg.getUser());
|
||||
purchaseId = msg.getOrderId();
|
||||
receipt = msg.getMonitorExtra();
|
||||
user = User.map(msg.getUser(),msg.getUserIdentity());
|
||||
combo = msg.getComboCount();
|
||||
comboFinished = msg.getRepeatEnd() > 0;
|
||||
comboIndex = msg.getRepeatCount();
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
package io.github.jwdeveloper.tiktok.events.messages.room;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventMeta;
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventType;
|
||||
@@ -20,11 +20,12 @@
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
package io.github.jwdeveloper.tiktok.events.messages.room;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventMeta;
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventType;
|
||||
import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.messages.TikTokCommentEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastRoomPinMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
package io.github.jwdeveloper.tiktok.events.messages.room;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventMeta;
|
||||
import io.github.jwdeveloper.tiktok.annotations.EventType;
|
||||
@@ -30,10 +30,9 @@ import java.util.UUID;
|
||||
public class Emote {
|
||||
String emoteId;
|
||||
Picture picture;
|
||||
UUID uuid;
|
||||
|
||||
public static Emote map(io.github.jwdeveloper.tiktok.messages.data.Emote input) {
|
||||
return new Emote(input.getEmoteId(), Picture.map(input.getImage()), UUID.fromString(input.getUuid()));
|
||||
return new Emote(input.getEmoteId(), Picture.map(input.getImage()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@ package io.github.jwdeveloper.tiktok.events.objects;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.users.User;
|
||||
import io.github.jwdeveloper.tiktok.exceptions.TikTokLiveException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.Value;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -47,16 +49,14 @@ public class Text {
|
||||
}
|
||||
|
||||
|
||||
public static TextPiece mapTextPiece(io.github.jwdeveloper.tiktok.messages.data.Text.TextPiece input)
|
||||
{
|
||||
return switch (input.getType())
|
||||
{
|
||||
public static TextPiece mapTextPiece(io.github.jwdeveloper.tiktok.messages.data.Text.TextPiece input) {
|
||||
return switch (input.getType()) {
|
||||
case 11 -> {
|
||||
var user = User.map(input.getUserValue().getUser());
|
||||
yield new UserTextPiece(user);
|
||||
}
|
||||
//case 12 -> new GiftTextPiece(input.getStringValue());
|
||||
default -> throw new TikTokLiveException("Unknown text piece");
|
||||
default -> new StringTextPiece(input.getStringValue());
|
||||
};
|
||||
}
|
||||
|
||||
@@ -66,8 +66,18 @@ public class Text {
|
||||
|
||||
}
|
||||
|
||||
@Value
|
||||
public static class StringTextPiece extends TextPiece {
|
||||
String text;
|
||||
|
||||
public StringTextPiece(String text) {
|
||||
this.text = text;
|
||||
}
|
||||
}
|
||||
|
||||
public static class UserTextPiece extends TextPiece {
|
||||
User user;
|
||||
|
||||
public UserTextPiece(User user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,17 @@
|
||||
*/
|
||||
package io.github.jwdeveloper.tiktok.events.objects.barrage;
|
||||
|
||||
public class BarrageParam
|
||||
{
|
||||
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastBarrageMessage;
|
||||
|
||||
public class BarrageParam {
|
||||
|
||||
//Figure out barrage type:11
|
||||
public static BarrageParam map(WebcastBarrageMessage msg) {
|
||||
return switch (msg.getMsgType()) {
|
||||
case GRADEUSERENTRANCENOTIFICATION -> new UserGradeParam(msg.getUserGradeParam());
|
||||
case FANSLEVELUPGRADE -> new FansLevelParam(msg.getFansLevelParam());
|
||||
case SUBSCRIBEGIFT -> new SubscribeGiftParam(msg.getSubscribeGiftParam());
|
||||
default -> new BarrageParam();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,5 +29,5 @@ import io.github.jwdeveloper.tiktok.messages.webcast.WebcastResponse;
|
||||
|
||||
public interface TikTokMessageHandler
|
||||
{
|
||||
TikTokEvent handle(WebcastResponse.Message message) throws Exception;
|
||||
TikTokEvent handle(byte[] messagePayload) throws Exception;
|
||||
}
|
||||
|
||||
@@ -244,7 +244,6 @@ message WebcastEnvelopeMessage {
|
||||
|
||||
// @EnvelopeInfo
|
||||
// proto.webcast.im.EnvelopeMessage
|
||||
// C:\Users\ja\RiderProjects\TikTokProBufferGenerator\Application\output\sources\test.js
|
||||
message EnvelopeInfo {
|
||||
string envelopeId = 1;
|
||||
int64 businessType = 2; // @warning Enum not found, should be BusinessType
|
||||
@@ -283,8 +282,9 @@ message WebcastGoalUpdateMessage {
|
||||
// Message related to Chat-moderation?
|
||||
//@WebcastImDeleteMessage
|
||||
message WebcastImDeleteMessage {
|
||||
Common header = 1;
|
||||
bytes data = 3;
|
||||
Common common = 1;
|
||||
repeated int64 deleteMsgIdsList = 2;
|
||||
repeated int64 deleteUserIdsList = 3;
|
||||
}
|
||||
|
||||
//@WebcastInRoomBannerMessage
|
||||
@@ -708,4 +708,12 @@ message WebcastLinkLayerMessage {
|
||||
}
|
||||
|
||||
|
||||
message RoomVerifyMessage {
|
||||
Common common = 1;
|
||||
int32 action = 2;
|
||||
string content = 3;
|
||||
int64 noticeType = 4;
|
||||
bool closeRoom = 5;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user