mirror of
https://github.com/jwdeveloper/TikTokLiveJava.git
synced 2026-02-27 16:59:39 -05:00
Events handling
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
package io.github.jwdeveloper.tiktok.annotations;
|
||||
|
||||
public @interface Nullable {
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package io.github.jwdeveloper.tiktok.events;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.messages.*;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokEvent {
|
||||
private long messageId;
|
||||
private long roomId;
|
||||
private long timeStamp;
|
||||
|
||||
public TikTokEvent(MessageHeader header) {
|
||||
this(header.getMessageId(),header.getRoomId(), header.getTimeStamp1());
|
||||
}
|
||||
|
||||
public TikTokEvent(GiftMessageHeader header) {
|
||||
this(header.getMessageId(),header.getRoomId(), header.getTimeStamp1());
|
||||
}
|
||||
|
||||
public TikTokEvent(MemberMessageHeader header) {
|
||||
this(header.getMessageId(),header.getRoomId(), header.getTimeStamp1());
|
||||
}
|
||||
|
||||
public TikTokEvent(SocialMessageHeader header) {
|
||||
this(header.getMessageId(),header.getRoomId(), header.getTimeStamp1());
|
||||
}
|
||||
|
||||
public TikTokEvent(LikeMessageHeader header) {
|
||||
this(header.getMessageId(),header.getRoomId(), header.getTimeStamp1());
|
||||
}
|
||||
|
||||
public TikTokEvent(long messageId, long roomId, long timeStamp) {
|
||||
this.messageId = messageId;
|
||||
this.roomId = roomId;
|
||||
this.timeStamp = timeStamp;
|
||||
}
|
||||
|
||||
public TikTokEvent() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package io.github.jwdeveloper.tiktok.events;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.messages.*;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
|
||||
|
||||
public interface TikTokEventBuilder<T> {
|
||||
T onLinkMicFanTicket(Consumer<TikTokLinkMicFanTicketEvent> event);
|
||||
|
||||
T onEnvelope(Consumer<TikTokEnvelopeEvent> event);
|
||||
|
||||
T onShopMessage(Consumer<TikTokShopMessageEvent> event);
|
||||
|
||||
T onDetectMessage(Consumer<TikTokDetectMessageEvent> event);
|
||||
|
||||
T onLinkLayerMessage(Consumer<TikTokLinkLayerMessageEvent> event);
|
||||
|
||||
T onCaption(Consumer<TikTokCaptionEvent> event);
|
||||
|
||||
T onQuestion(Consumer<TikTokQuestionEvent> event);
|
||||
|
||||
T onRoomPinMessage(Consumer<TikTokRoomPinMessageEvent> event);
|
||||
|
||||
T onRoomMessage(Consumer<TikTokRoomMessageEvent> event);
|
||||
|
||||
T onLike(Consumer<TikTokLikeEvent> event);
|
||||
|
||||
T onLinkMessage(Consumer<TikTokLinkMessageEvent> event);
|
||||
|
||||
T onBarrageMessage(Consumer<TikTokBarrageMessageEvent> event);
|
||||
|
||||
T onGiftMessage(Consumer<TikTokGiftMessageEvent> event);
|
||||
|
||||
T onLinkMicArmies(Consumer<TikTokLinkMicArmiesEvent> event);
|
||||
|
||||
T onEmote(Consumer<TikTokEmoteEvent> event);
|
||||
|
||||
T onUnauthorizedMember(Consumer<TikTokUnauthorizedMemberEvent> event);
|
||||
|
||||
T onInRoomBanner(Consumer<TikTokInRoomBannerEvent> event);
|
||||
|
||||
T onLinkMicMethod(Consumer<TikTokLinkMicMethodEvent> event);
|
||||
|
||||
T onSubscribe(Consumer<TikTokSubscribeEvent> event);
|
||||
|
||||
T onPollMessage(Consumer<TikTokPollMessageEvent> event);
|
||||
|
||||
T onFollow(Consumer<TikTokFollowEvent> event);
|
||||
|
||||
T onRoomViewerData(Consumer<TikTokRoomViewerDataEvent> event);
|
||||
|
||||
T onGoalUpdate(Consumer<TikTokGoalUpdateEvent> event);
|
||||
|
||||
T onComment(Consumer<TikTokCommentEvent> event);
|
||||
|
||||
T onRankUpdate(Consumer<TikTokRankUpdateEvent> event);
|
||||
|
||||
T onIMDelete(Consumer<TikTokIMDeleteEvent> event);
|
||||
|
||||
T onJoin(Consumer<TikTokJoinEvent> event);
|
||||
|
||||
T onRankText(Consumer<TikTokRankTextEvent> event);
|
||||
|
||||
T onShare(Consumer<TikTokShareEvent> event);
|
||||
|
||||
T onSubNotify(Consumer<TikTokSubNotifyEvent> event);
|
||||
|
||||
T onLinkMicBattle(Consumer<TikTokLinkMicBattleEvent> event);
|
||||
|
||||
T onGiftBroadcast(Consumer<TikTokGiftBroadcastEvent> event);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package io.github.jwdeveloper.tiktok.events;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.live.LiveClient;
|
||||
|
||||
public interface TikTokLiveEvent<T extends TikTokEvent>
|
||||
{
|
||||
void onEvent(LiveClient liveClient, T event);
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.BarrageData;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.Picture;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastBarrageMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokBarrageMessageEvent extends TikTokEvent {
|
||||
private final Picture picture;
|
||||
|
||||
private final Picture picture2;
|
||||
|
||||
private final Picture picture3;
|
||||
|
||||
private final User user;
|
||||
private final BarrageData barrageData;
|
||||
|
||||
public TikTokBarrageMessageEvent(WebcastBarrageMessage msg) {
|
||||
super(msg.getHeader());
|
||||
|
||||
picture = new Picture(msg.getPicture());
|
||||
picture2 = new Picture(msg.getPicture2());
|
||||
picture3 = new Picture(msg.getPicture3());
|
||||
user = new User(msg.getUserData().getUser());
|
||||
barrageData = new BarrageData(msg.getMessage().getEventType(),
|
||||
msg.getMessage().getLabel(),
|
||||
msg.getMessage().getData1List().stream().map(e ->
|
||||
{
|
||||
var user = new User(e.getUser().getUser());
|
||||
return new BarrageData.BarrageUser(user, e.getData2());
|
||||
}).toList()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastCaptionMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokCaptionEvent extends TikTokEvent {
|
||||
private final Long captionTimeStamp;
|
||||
|
||||
private final String iSOLanguage;
|
||||
|
||||
private final String text;
|
||||
|
||||
public TikTokCaptionEvent(WebcastCaptionMessage msg) {
|
||||
super(msg.getHeader());
|
||||
captionTimeStamp = msg.getTimeStamp();
|
||||
iSOLanguage = msg.getCaptionData().getISOLanguage();
|
||||
text = msg.getCaptionData().getText();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.Nullable;
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.Picture;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastChatMessage;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastRoomPinMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class TikTokCommentEvent extends TikTokEvent
|
||||
{
|
||||
@Nullable
|
||||
private User user;
|
||||
private final String text;
|
||||
private final String language;
|
||||
private final List<User> mentionedUsers;
|
||||
private final List<Picture> pictures;
|
||||
|
||||
public TikTokCommentEvent(WebcastRoomPinMessage.RoomPinMessageData data) {
|
||||
super(data.getDetails().getRoomId(), data.getDetails().getMessageId(), data.getDetails().getServerTime());
|
||||
if (data.hasSender())
|
||||
user = new User(data.getSender());
|
||||
text = data.getComment();
|
||||
language = data.getLanguage();
|
||||
mentionedUsers = new ArrayList<>();
|
||||
pictures = new ArrayList<>();
|
||||
}
|
||||
|
||||
public TikTokCommentEvent(WebcastChatMessage msg) {
|
||||
super(msg.getHeader());
|
||||
if (msg.hasSender())
|
||||
user = new User(msg.getSender());
|
||||
text = msg.getComment();
|
||||
language = msg.getLanguage();
|
||||
mentionedUsers = msg.getMentionedUsersList().stream().map(User::new).toList();
|
||||
pictures = msg.getImagesList().stream().map(e -> new Picture(e.getPicture())).toList();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
|
||||
public class TikTokConnectedEvent extends TikTokEvent
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastMsgDetectMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class TikTokDetectMessageEvent extends TikTokEvent {
|
||||
private final String language;
|
||||
|
||||
private final List<Number> data;
|
||||
|
||||
private final List<Number> timings;
|
||||
|
||||
public TikTokDetectMessageEvent(WebcastMsgDetectMessage msg) {
|
||||
super(msg.getHeader());;
|
||||
language = msg.getLanguage();
|
||||
data = List.of(msg.getData2().getData1(), msg.getData2().getData2(), msg.getData2().getData3());
|
||||
timings= List.of(msg.getTimestamps().getTimestamp1(), msg.getTimestamps().getTimestamp2(), msg.getTimestamps().getTimestamp3());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
|
||||
public class TikTokDisconnectedEvent extends TikTokEvent {
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.Nullable;
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.Picture;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastEmoteChatMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokEmoteEvent extends TikTokEvent
|
||||
{
|
||||
@Nullable
|
||||
private User user;
|
||||
private final String emoteId;
|
||||
private final Picture picture;
|
||||
|
||||
public TikTokEmoteEvent(WebcastEmoteChatMessage msg) {
|
||||
super(msg.getHeader());
|
||||
if (msg.hasSender()) {
|
||||
user = new User(msg.getSender());
|
||||
}
|
||||
emoteId = msg.getDetails().getId();
|
||||
picture = new Picture(msg.getDetails().getImage().getUrl());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastEnvelopeMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokEnvelopeEvent extends TikTokEvent {
|
||||
private final User user;
|
||||
|
||||
public TikTokEnvelopeEvent(WebcastEnvelopeMessage msg) {
|
||||
super(msg.getHeader());
|
||||
user = new User(msg.getUser().getId(), msg.getUser().getUsername());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.Nullable;
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastSocialMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokFollowEvent extends TikTokEvent
|
||||
{
|
||||
@Nullable
|
||||
private User newFollower;
|
||||
private final Long totalFollowers;
|
||||
|
||||
public TikTokFollowEvent(WebcastSocialMessage msg) {
|
||||
super(msg.getHeader());
|
||||
if(msg.hasSender())
|
||||
{
|
||||
newFollower = new User(msg.getSender());
|
||||
}
|
||||
totalFollowers = msg.getTotalFollowers();
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.Picture;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastGiftBroadcastMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokGiftBroadcastEvent extends TikTokEvent
|
||||
{
|
||||
private final Picture picture;
|
||||
|
||||
private final String shortURL;
|
||||
|
||||
private final String notifyEventType;
|
||||
|
||||
private final String notifyLabel;
|
||||
|
||||
private final String notifyType;
|
||||
|
||||
public TikTokGiftBroadcastEvent(WebcastGiftBroadcastMessage msg)
|
||||
{
|
||||
super(msg.getHeader());
|
||||
picture = new Picture(msg.getPicture());
|
||||
var data = msg.getData();
|
||||
shortURL = data.getUri();
|
||||
notifyEventType = data.getRoomNotifyMessage().getData().getType();
|
||||
notifyLabel = data.getRoomNotifyMessage().getData().getLabel();
|
||||
notifyType = data.getNotifyType();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.Nullable;
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.Gift;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastGiftMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokGiftMessageEvent extends TikTokEvent {
|
||||
private final Gift gift;
|
||||
|
||||
@Nullable
|
||||
private User sender;
|
||||
|
||||
private final String purchaseId;
|
||||
|
||||
private final String receipt;
|
||||
|
||||
private final Integer amount;
|
||||
|
||||
private final Boolean streakFinished;
|
||||
|
||||
private final Integer streakIndex;
|
||||
|
||||
public TikTokGiftMessageEvent(WebcastGiftMessage msg) {
|
||||
super(msg.getHeader());;
|
||||
gift = new Gift(msg.getGiftDetails());
|
||||
if(msg.hasSender())
|
||||
{
|
||||
sender = new User(msg.getSender());
|
||||
}
|
||||
purchaseId = msg.getLogId();
|
||||
receipt = msg.getReceiptJson();
|
||||
amount = msg.getAmount();
|
||||
streakFinished = msg.getRepeatEnd();
|
||||
streakIndex = msg.getRepeatCount();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.Picture;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastGoalUpdateMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class TikTokGoalUpdateEvent extends TikTokEvent
|
||||
{
|
||||
private final Long goalId;
|
||||
private final Picture picture;
|
||||
private final String eventType;
|
||||
private final String label;
|
||||
private final List<User> users;
|
||||
|
||||
public TikTokGoalUpdateEvent(WebcastGoalUpdateMessage msg) {
|
||||
super(msg.getHeader());
|
||||
picture = new Picture(msg.getPicture());
|
||||
goalId = msg.getId();
|
||||
eventType = msg.getData().getType();
|
||||
label = msg.getUpdateData().getLabel();
|
||||
users = msg.getUpdateData().getUsersList().stream().map(u ->new User(u.getId(),u.getNickname(),new Picture(u.getProfilePicture()))).toList();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastImDeleteMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokIMDeleteEvent extends TikTokEvent {
|
||||
private final String data1;
|
||||
private final String data2;
|
||||
|
||||
public TikTokIMDeleteEvent(WebcastImDeleteMessage msg) {
|
||||
super(msg.getHeader());;
|
||||
data1 = msg.getData1();
|
||||
data2 = msg.getData2();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastInRoomBannerMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokInRoomBannerEvent extends TikTokEvent {
|
||||
private String jSON;
|
||||
|
||||
public TikTokInRoomBannerEvent(WebcastInRoomBannerMessage msg) {
|
||||
super(msg.getHeader());;
|
||||
jSON = msg.getJson();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.Nullable;
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastMemberMessage;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastSocialMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokJoinEvent extends TikTokEvent {
|
||||
@Nullable
|
||||
private User user;
|
||||
|
||||
private final Long totalViewers;
|
||||
|
||||
public TikTokJoinEvent(WebcastSocialMessage msg) {
|
||||
super(msg.getHeader());
|
||||
|
||||
if (msg.hasSender()) {
|
||||
user = new User(msg.getSender());
|
||||
}
|
||||
|
||||
totalViewers = 0L;
|
||||
}
|
||||
|
||||
public TikTokJoinEvent(WebcastMemberMessage msg) {
|
||||
super(msg.getHeader());
|
||||
if (msg.hasUser()) {
|
||||
user = new User(msg.getUser());
|
||||
}
|
||||
totalViewers = msg.getTotalViewers();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.Nullable;
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastLikeMessage;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastSocialMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokLikeEvent extends TikTokEvent
|
||||
{
|
||||
@Nullable
|
||||
private User sender;
|
||||
|
||||
private final Integer count;
|
||||
|
||||
private final Long totalLikes;
|
||||
|
||||
public TikTokLikeEvent(WebcastSocialMessage msg) {
|
||||
super(msg.getHeader());
|
||||
if (msg.hasSender()) {
|
||||
sender = new User(msg.getSender());
|
||||
}
|
||||
count = 1;
|
||||
totalLikes = 0L;
|
||||
}
|
||||
|
||||
public TikTokLikeEvent(WebcastLikeMessage msg) {
|
||||
super(msg.getHeader());
|
||||
|
||||
if (msg.hasSender()) {
|
||||
sender = new User(msg.getSender());
|
||||
}
|
||||
|
||||
count = msg.getCount();
|
||||
totalLikes = msg.getTotalLikes();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastLinkLayerMessage;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokLinkLayerMessageEvent extends TikTokEvent {
|
||||
private final Long linkId;
|
||||
private final LinkData link1;
|
||||
private final LinkData link2;
|
||||
|
||||
public TikTokLinkLayerMessageEvent(WebcastLinkLayerMessage msg) {
|
||||
super(msg.getHeader());
|
||||
linkId = msg.getId();
|
||||
link1 = new LinkData(msg.getIdContainer1().getIds().getId1(), msg.getIdContainer1().getIds().getId2());
|
||||
link2 = new LinkData(msg.getIdContainer2().getIds().getId1(), msg.getIdContainer2().getIds().getId2());
|
||||
}
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
private class LinkData {
|
||||
private final Long id1;
|
||||
private final Long id2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.Nullable;
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class TikTokLinkMessageEvent extends TikTokEvent {
|
||||
private final String token;
|
||||
|
||||
@Nullable
|
||||
private User user;
|
||||
|
||||
private final List<User> otherUsers;
|
||||
|
||||
public TikTokLinkMessageEvent(WebcastLinkMessage msg) {
|
||||
super(msg.getHeader());
|
||||
token = msg.getToken();
|
||||
if (msg.getUser().getUser().hasUser()) {
|
||||
user = new User(msg.getUser().getUser().getUser());
|
||||
}
|
||||
otherUsers = msg.getUser().getOtherUsersList().stream().map(e -> new User(e.getUser())).toList();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.LinkMicArmy;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.Picture;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMicArmies;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class TikTokLinkMicArmiesEvent extends TikTokEvent {
|
||||
private final Long battleId;
|
||||
|
||||
private final Integer battleStatus;
|
||||
|
||||
private final Picture picture;
|
||||
|
||||
private final List<LinkMicArmy> armies;
|
||||
|
||||
public TikTokLinkMicArmiesEvent(WebcastLinkMicArmies msg) {
|
||||
super(msg.getHeader());
|
||||
battleId = msg.getId();
|
||||
armies = msg.getBattleItemsList().stream().map(LinkMicArmy::new).toList();
|
||||
picture = new Picture(msg.getPicture());
|
||||
battleStatus = msg.getBattleStatus();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.LinkMicBattleTeam;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMicBattle;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class TikTokLinkMicBattleEvent extends TikTokEvent {
|
||||
private final Long battleId;
|
||||
private final List<LinkMicBattleTeam> team1;
|
||||
private final List<LinkMicBattleTeam> team2;
|
||||
|
||||
public TikTokLinkMicBattleEvent(WebcastLinkMicBattle msg) {
|
||||
super(msg.getHeader());
|
||||
battleId = msg.getId();
|
||||
team1 = msg.getTeams1List().stream().map(LinkMicBattleTeam::new).toList();
|
||||
team2 = msg.getTeams2List().stream().map(LinkMicBattleTeam::new).toList();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMicFanTicketMethod;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokLinkMicFanTicketEvent extends TikTokEvent {
|
||||
private final Long id;
|
||||
private final Integer data1;
|
||||
private final Integer data2;
|
||||
|
||||
public TikTokLinkMicFanTicketEvent(WebcastLinkMicFanTicketMethod msg) {
|
||||
super(msg.getHeader());
|
||||
id = msg.getData().getDetails().getId();
|
||||
data1 = msg.getData().getData1();
|
||||
data2 = msg.getData().getDetails().getData();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.LinkMicMethod;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMicMethod;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokLinkMicMethodEvent extends TikTokEvent {
|
||||
private final String jSON;
|
||||
|
||||
public TikTokLinkMicMethodEvent(WebcastLinkMicMethod msg) {
|
||||
super(msg.getHeader());;
|
||||
jSON = "";
|
||||
}
|
||||
|
||||
public TikTokLinkMicMethodEvent(LinkMicMethod msg) {
|
||||
super(msg.getHeader());;
|
||||
jSON = msg.getJson();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
|
||||
public class TikTokLiveEndedEvent extends TikTokEvent {
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
|
||||
public class TikTokLivePausedEvent extends TikTokEvent {
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.PollOption;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastPollMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class TikTokPollMessageEvent extends TikTokEvent {
|
||||
private final Long id;
|
||||
|
||||
private final PollOption option1;
|
||||
|
||||
private final PollOption option2;
|
||||
|
||||
private final List<PollOption.Option> options;
|
||||
|
||||
public TikTokPollMessageEvent(WebcastPollMessage msg) {
|
||||
super(msg.getHeader());
|
||||
id = msg.getId();
|
||||
options = msg.getPollData().getOptionsList().stream().map(e -> new PollOption.Option(e.getLabel(), e.getCurrentTotal())).toList();
|
||||
option1 = new PollOption(new User(msg.getOptions1().getUser()), msg.getOptions1().getOptionsList().stream().map(e -> new PollOption.Option(e.getLabel(), e.getCurrentTotal())).toList());
|
||||
option2 = new PollOption(new User(msg.getOptions2().getUser()), msg.getOptions2().getOptionsList().stream().map(e -> new PollOption.Option(e.getLabel(), e.getCurrentTotal())).toList());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastQuestionNewMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokQuestionEvent extends TikTokEvent {
|
||||
private final Long questionId;
|
||||
|
||||
private final String text;
|
||||
|
||||
private final Long time;
|
||||
|
||||
private User user;
|
||||
|
||||
|
||||
public TikTokQuestionEvent(WebcastQuestionNewMessage msg) {
|
||||
super(msg.getHeader());
|
||||
var data = msg.getDetails();
|
||||
questionId = data.getId();
|
||||
text = data.getText();
|
||||
time = data.getTimeStamp();
|
||||
if (data.hasUser()) {
|
||||
user = new User(data.getUser());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastRankTextMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokRankTextEvent extends TikTokEvent {
|
||||
private String eventType;
|
||||
|
||||
private String label;
|
||||
|
||||
|
||||
public TikTokRankTextEvent(WebcastRankTextMessage msg) {
|
||||
super(0,0,0);//TODO passing info
|
||||
eventType = msg.getDetails().getType();
|
||||
label =msg.getDetails().getLabel();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastHourlyRankMessage;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastRankUpdateMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokRankUpdateEvent extends TikTokEvent {
|
||||
private final String eventType;
|
||||
|
||||
private final String label;
|
||||
|
||||
private final String rank;
|
||||
|
||||
private final String color;
|
||||
|
||||
public TikTokRankUpdateEvent(WebcastHourlyRankMessage msg) {
|
||||
super(msg.getHeader());
|
||||
var rankData = msg.getData().getRankings();
|
||||
eventType = rankData.getType();
|
||||
label = rankData.getLabel();
|
||||
rank = rankData.getDetails(0).getLabel();
|
||||
color = rankData.getColor().getColor();
|
||||
|
||||
|
||||
}
|
||||
|
||||
public TikTokRankUpdateEvent(WebcastRankUpdateMessage msg) {
|
||||
super(msg.getHeader());
|
||||
var rankData = msg.getData().getRankData();
|
||||
eventType = rankData.getType();
|
||||
label = rankData.getLabel();
|
||||
rank = rankData.getDetails(0).getLabel();
|
||||
color = rankData.getColor().getColor();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.annotations.Nullable;
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.RoomMessage;
|
||||
import io.github.jwdeveloper.tiktok.messages.SystemMessage;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastLiveIntroMessage;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastRoomMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokRoomMessageEvent extends TikTokEvent {
|
||||
@Nullable
|
||||
private User host;
|
||||
@Nullable
|
||||
private String hostLanguage;
|
||||
private final String message;
|
||||
|
||||
public TikTokRoomMessageEvent(WebcastRoomMessage msg) {
|
||||
super(msg.getHeader());
|
||||
message = msg.getData();
|
||||
}
|
||||
|
||||
public TikTokRoomMessageEvent(SystemMessage msg) {
|
||||
super(msg.getHeader());
|
||||
message = msg.getMessage();
|
||||
}
|
||||
|
||||
public TikTokRoomMessageEvent(RoomMessage msg) {
|
||||
super(msg.getHeader());
|
||||
message = msg.getMessage();
|
||||
}
|
||||
|
||||
public TikTokRoomMessageEvent(WebcastLiveIntroMessage msg) {
|
||||
super(msg.getHeader());
|
||||
if (msg.hasHost()) {
|
||||
host = new User(msg.getHost());
|
||||
}
|
||||
message = msg.getDescription();
|
||||
hostLanguage = msg.getLanguage();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastRoomPinMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokRoomPinMessageEvent extends TikTokEvent {
|
||||
private final Long pinTimeStamp;
|
||||
private final TikTokCommentEvent comment;
|
||||
|
||||
public TikTokRoomPinMessageEvent(WebcastRoomPinMessage msg) {
|
||||
super(msg.getHeader());
|
||||
this.pinTimeStamp = msg.getTimestamp();
|
||||
this.comment = new TikTokCommentEvent(msg.getPinData1());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.TopViewer;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastRoomUserSeqMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class TikTokRoomViewerDataEvent extends TikTokEvent {
|
||||
private final Integer viewerCount;
|
||||
private final List<TopViewer> topViewers;
|
||||
|
||||
public TikTokRoomViewerDataEvent(WebcastRoomUserSeqMessage msg) {
|
||||
super(msg.getHeader());
|
||||
|
||||
//TODO sorting by rank TopViewers = msg?.TopViewers?.Select(t => new Objects.TopViewer(t))?.OrderBy(t => t.Rank)?
|
||||
viewerCount = msg.getViewerCount();
|
||||
topViewers = msg.getTopViewersList().stream().map(TopViewer::new).toList();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastSocialMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokShareEvent extends TikTokEvent {
|
||||
private User user;
|
||||
|
||||
private Integer amount;
|
||||
|
||||
public TikTokShareEvent(WebcastSocialMessage msg, Integer amount) {
|
||||
super(msg.getHeader());;
|
||||
if(msg.hasSender())
|
||||
{
|
||||
user = new User(msg.getSender());
|
||||
}
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public TikTokShareEvent(WebcastSocialMessage msg) {
|
||||
super(msg.getHeader());
|
||||
if(msg.hasSender())
|
||||
{
|
||||
user = new User(msg.getSender());
|
||||
}
|
||||
amount = 1;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.Picture;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastOecLiveShoppingMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokShopMessageEvent extends TikTokEvent {
|
||||
private final String title;
|
||||
|
||||
private final String price;
|
||||
|
||||
private final Picture picture;
|
||||
|
||||
private final String shopUrl;
|
||||
|
||||
private final String shopName;
|
||||
|
||||
public TikTokShopMessageEvent(WebcastOecLiveShoppingMessage msg) {
|
||||
super(msg.getHeader());
|
||||
var data = msg.getShopData();
|
||||
title = data.getTitle();
|
||||
price = data.getPriceString();
|
||||
picture = new Picture(data.getImageUrl());
|
||||
shopUrl = data.getShopUrl();
|
||||
shopName = data.getShopName();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastSubNotifyMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokSubNotifyEvent extends TikTokEvent {
|
||||
private User user;
|
||||
|
||||
public TikTokSubNotifyEvent(WebcastSubNotifyMessage msg) {
|
||||
super(msg.getHeader());
|
||||
|
||||
if (msg.hasSender()) {
|
||||
user = new User(msg.getSender());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.events.objects.User;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastMemberMessage;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokSubscribeEvent extends TikTokEvent {
|
||||
private User newSubscriber;
|
||||
|
||||
public TikTokSubscribeEvent(WebcastMemberMessage msg) {
|
||||
super(msg.getHeader());
|
||||
|
||||
if(msg.hasUser())
|
||||
{
|
||||
newSubscriber = new User(msg.getUser());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastUnauthorizedMemberMessage;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TikTokUnauthorizedMemberEvent extends TikTokEvent {
|
||||
private final String data;
|
||||
|
||||
private final UnauthorizedMemberData event;
|
||||
|
||||
private final UnauthorizedMemberData underlying;
|
||||
|
||||
public TikTokUnauthorizedMemberEvent(WebcastUnauthorizedMemberMessage msg) {
|
||||
super(msg.getHeader());
|
||||
|
||||
data = msg.getData2();
|
||||
event = new UnauthorizedMemberData(msg.getDetails1().getType(), msg.getDetails1().getLabel());
|
||||
underlying = new UnauthorizedMemberData(msg.getDetails2().getType(), msg.getDetails2().getLabel());
|
||||
}
|
||||
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public class UnauthorizedMemberData {
|
||||
private final String data1;
|
||||
|
||||
private final String data2;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastControlMessage;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public class TikTokUnhandledControlEvent extends TikTokEvent {
|
||||
|
||||
private final WebcastControlMessage message;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public class TikTokUnhandledEvent extends TikTokEvent
|
||||
{
|
||||
private final WebcastResponse.Message message;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastMemberMessage;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public class TikTokUnhandledMemberEvent extends TikTokEvent
|
||||
{
|
||||
private final WebcastMemberMessage message;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package io.github.jwdeveloper.tiktok.events.messages;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastSocialMessage;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public class TikTokUnhandledSocialEvent extends TikTokEvent
|
||||
{
|
||||
private final WebcastSocialMessage message;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package io.github.jwdeveloper.tiktok.events.objects;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class Badge {
|
||||
private final ComboBadge comboBadges;
|
||||
private final List<TextBadge> textBadges;
|
||||
private final List<ImageBadge> imageBadges;
|
||||
|
||||
public Badge(io.github.jwdeveloper.tiktok.messages.Badge badge) {
|
||||
textBadges = badge.getTextBadgesList().stream().map(b -> new TextBadge(b.getType(), b.getName())).toList();
|
||||
imageBadges = badge.getImageBadgesList().stream().map(b -> new ImageBadge(b.getDisplayType(), new Picture(b.getImage()))).toList();
|
||||
comboBadges = new ComboBadge(new Picture(badge.getComplexBadge().getImageUrl()), badge.getComplexBadge().getData());
|
||||
}
|
||||
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public class TextBadge {
|
||||
private final String type;
|
||||
private final String name;
|
||||
}
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public class ImageBadge {
|
||||
private final Integer displayType;
|
||||
private final Picture image;
|
||||
}
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public class ComboBadge {
|
||||
private final Picture image;
|
||||
private final String data;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package io.github.jwdeveloper.tiktok.events.objects;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class BarrageData {
|
||||
private final String eventType;
|
||||
private final String label;
|
||||
private final List<BarrageUser> users;
|
||||
|
||||
public BarrageData(String eventType, String label, List<BarrageUser> users)
|
||||
{
|
||||
this.eventType = eventType;
|
||||
this.label = label;
|
||||
this.users = users;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public static final class BarrageUser
|
||||
{
|
||||
private final User user;
|
||||
|
||||
private final String data;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package io.github.jwdeveloper.tiktok.events.objects;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class Gift {
|
||||
private final Long id;
|
||||
|
||||
private final String name;
|
||||
|
||||
private final String description;
|
||||
|
||||
private final Integer diamondCost;
|
||||
|
||||
private final Integer type;
|
||||
|
||||
private final Picture picture;
|
||||
|
||||
public Gift(io.github.jwdeveloper.tiktok.messages.Gift gift) {
|
||||
id = gift.getId();
|
||||
name = gift.getName();
|
||||
description = gift.getDescription();
|
||||
diamondCost = gift.getCoinCount();
|
||||
type = gift.getGiftType();
|
||||
picture = new Picture(gift.getImage());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package io.github.jwdeveloper.tiktok.events.objects;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.messages.LinkMicArmiesItems;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class LinkMicArmy {
|
||||
private final Long armyId;
|
||||
private final List<Army> armies;
|
||||
|
||||
public LinkMicArmy(LinkMicArmiesItems army) {
|
||||
armyId = army.getHostUserId();
|
||||
armies = army.getBattleGroupsList()
|
||||
.stream()
|
||||
.map(x -> new Army(x.getUsersList()
|
||||
.stream()
|
||||
.map(User::new).toList(), x.getPoints()))
|
||||
.toList();
|
||||
}
|
||||
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public final class Army {
|
||||
private final List<User> Users;
|
||||
private final Integer Points;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package io.github.jwdeveloper.tiktok.events.objects;
|
||||
|
||||
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMicBattle;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class LinkMicBattleTeam {
|
||||
private final Long teamId;
|
||||
private final List<User> users;
|
||||
|
||||
public LinkMicBattleTeam(WebcastLinkMicBattle.LinkMicBattleTeam team) {
|
||||
this.teamId = team.getId();
|
||||
this.users = team.getUsersList().stream().map(User::new).toList();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package io.github.jwdeveloper.tiktok.events.objects;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class Picture {
|
||||
|
||||
public final List<String> urls;
|
||||
|
||||
public Picture(io.github.jwdeveloper.tiktok.messages.Picture profilePicture) {
|
||||
this.urls = profilePicture.getUrlsList();
|
||||
}
|
||||
|
||||
public Picture(List<String> urls) {
|
||||
this.urls = urls;
|
||||
}
|
||||
|
||||
public Picture(String ... urls)
|
||||
{
|
||||
this.urls = Arrays.stream(urls).toList();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package io.github.jwdeveloper.tiktok.events.objects;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public class PollOption {
|
||||
|
||||
private final User user;
|
||||
private final List<Option> options;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public static final class Option {
|
||||
private final String label;
|
||||
|
||||
private final Integer total;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package io.github.jwdeveloper.tiktok.events.objects;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.messages.WebcastGiftMessage;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
public class TikTokGift {
|
||||
private final Gift gift;
|
||||
private User sender;
|
||||
@Setter
|
||||
private int amount;
|
||||
|
||||
@Setter
|
||||
private boolean streakFinished;
|
||||
|
||||
public TikTokGift(WebcastGiftMessage message) {
|
||||
gift = new Gift(message.getGiftDetails());
|
||||
if (message.hasSender()) {
|
||||
sender = new User(message.getSender());
|
||||
}
|
||||
amount = message.getAmount();
|
||||
streakFinished = message.getRepeatEnd();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package io.github.jwdeveloper.tiktok.events.objects;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class TopViewer {
|
||||
private Integer rank;
|
||||
|
||||
private User user;
|
||||
|
||||
private Integer coinsGiven;
|
||||
|
||||
public TopViewer(io.github.jwdeveloper.tiktok.messages.TopViewer viewer)
|
||||
{
|
||||
rank = viewer.getRank();
|
||||
if(viewer.hasUser())
|
||||
{
|
||||
user = new User(viewer.getUser());
|
||||
}
|
||||
coinsGiven = viewer.getCoinsGiven();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
package io.github.jwdeveloper.tiktok.events.objects;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public class User {
|
||||
private Long userId;
|
||||
private String uniqueId;
|
||||
|
||||
private final String nickName;
|
||||
|
||||
private String description;
|
||||
|
||||
private Picture profilePicture;
|
||||
|
||||
private Picture picture720;
|
||||
|
||||
private Picture picture1080;
|
||||
|
||||
private Integer following;
|
||||
|
||||
private Integer followers;
|
||||
|
||||
private Integer followsHost;
|
||||
public List<Picture> additionalPictures;
|
||||
|
||||
public List<Badge> badges;
|
||||
|
||||
public User(Long userId,
|
||||
String uniqueId,
|
||||
String nickName,
|
||||
String description,
|
||||
Picture profilePicture,
|
||||
Picture picture720,
|
||||
Picture picture1080,
|
||||
List<Picture> additionalPictures,
|
||||
Integer following,
|
||||
Integer followers,
|
||||
Integer followsHost,
|
||||
List<Badge> badges) {
|
||||
this.userId = userId;
|
||||
this.uniqueId = uniqueId;
|
||||
this.nickName = nickName;
|
||||
this.description = description;
|
||||
this.profilePicture = profilePicture;
|
||||
this.picture720 = picture720;
|
||||
this.picture1080 = picture1080;
|
||||
this.additionalPictures = additionalPictures;
|
||||
this.following = following;
|
||||
this.followers = followers;
|
||||
this.followsHost = followsHost;
|
||||
this.badges = badges;
|
||||
}
|
||||
|
||||
public User(String uniqueId,
|
||||
String nickName) {
|
||||
this.uniqueId = uniqueId;
|
||||
this.nickName = nickName;
|
||||
}
|
||||
|
||||
public User(Long userId,
|
||||
String nickName,
|
||||
Picture picture) {
|
||||
this.userId = userId;
|
||||
this.nickName = nickName;
|
||||
this.profilePicture = picture;
|
||||
}
|
||||
|
||||
public User(io.github.jwdeveloper.tiktok.messages.User user) {
|
||||
assert user != null;
|
||||
userId = user.getUserId();
|
||||
uniqueId = user.getUniqueId();
|
||||
nickName = user.getNickname();
|
||||
description = user.getDescription();
|
||||
profilePicture = new Picture(user.getProfilePicture());
|
||||
picture720 = new Picture(user.getPicture720());
|
||||
picture1080 = new Picture(user.getPicture1080());
|
||||
following = user.getFollowerData().getFollowing();
|
||||
followers = user.getFollowerData().getFollowers();
|
||||
followsHost = user.getFollowerData().getFollowsHost();
|
||||
badges = user.getBadgesList().stream().map(Badge::new).toList();
|
||||
additionalPictures = new ArrayList<>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package io.github.jwdeveloper.tiktok.exceptions;
|
||||
|
||||
public class TikTokLiveException extends RuntimeException
|
||||
{
|
||||
public TikTokLiveException() {
|
||||
}
|
||||
|
||||
public TikTokLiveException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
public TikTokLiveException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
|
||||
public TikTokLiveException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
public TikTokLiveException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
|
||||
super(message, cause, enableSuppression, writableStackTrace);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package io.github.jwdeveloper.tiktok.live;
|
||||
|
||||
public interface LiveClient {
|
||||
|
||||
void run();
|
||||
|
||||
void stop();
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
package io.github.jwdeveloper.tiktok.live.models.gift;
|
||||
|
||||
public class LockInfo
|
||||
{
|
||||
public int lock_type;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
package io.github.jwdeveloper.tiktok.live.models.gift;
|
||||
|
||||
public class SpecialEffects {
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
package io.github.jwdeveloper.tiktok.live.models.gift;
|
||||
|
||||
public class TrackerParams {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package io.github.jwdeveloper.tiktok.models;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class GiftId
|
||||
{
|
||||
public long Gift;
|
||||
|
||||
public String UserName;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package io.github.jwdeveloper.tiktok.models;
|
||||
|
||||
public class SocialTypes
|
||||
{
|
||||
public static final String LikeType = "pm_mt_msg_viewer";
|
||||
public static final String FollowType = "pm_main_follow_message_viewer_2";
|
||||
public static final String ShareType = "pm_mt_guidance_share";
|
||||
public static final String JoinType = "pm_mt_join_message_other_viewer";
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.github.jwdeveloper.tiktok.live.models.gift;
|
||||
package io.github.jwdeveloper.tiktok.models.gifts;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.github.jwdeveloper.tiktok.live.models.gift;
|
||||
package io.github.jwdeveloper.tiktok.models.gifts;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.github.jwdeveloper.tiktok.live.models.gift;
|
||||
package io.github.jwdeveloper.tiktok.models.gifts;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.github.jwdeveloper.tiktok.live.models.gift;
|
||||
package io.github.jwdeveloper.tiktok.models.gifts;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.github.jwdeveloper.tiktok.live.models.gift;
|
||||
package io.github.jwdeveloper.tiktok.models.gifts;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.github.jwdeveloper.tiktok.live.models.gift;
|
||||
package io.github.jwdeveloper.tiktok.models.gifts;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.github.jwdeveloper.tiktok.live.models.gift;
|
||||
package io.github.jwdeveloper.tiktok.models.gifts;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package io.github.jwdeveloper.tiktok.models.gifts;
|
||||
|
||||
public class LockInfo
|
||||
{
|
||||
public int lock_type;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package io.github.jwdeveloper.tiktok.models.gifts;
|
||||
|
||||
public class SpecialEffects {
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package io.github.jwdeveloper.tiktok.live.models.gift;
|
||||
package io.github.jwdeveloper.tiktok.models.gifts;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
package io.github.jwdeveloper.tiktok.models.gifts;
|
||||
|
||||
public class TrackerParams {
|
||||
}
|
||||
1345
API/src/main/proto/tiktokSchema.proto
Normal file
1345
API/src/main/proto/tiktokSchema.proto
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user