diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/ClientSettings.java b/API/src/main/java/io/github/jwdeveloper/tiktok/ClientSettings.java
index c2a8c02..f4821be 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/ClientSettings.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/ClientSettings.java
@@ -26,6 +26,7 @@ public class ClientSettings {
///
private boolean retryOnConnectionFailure;
+
///
/// Wait to connect again for selected amount of time
///
@@ -65,5 +66,6 @@ public class ClientSettings {
/// Parameters used in requests to tiktok api
///
private Map clientParameters;
+
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/EventMeta.java b/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/EventMeta.java
new file mode 100644
index 0000000..71dc01a
--- /dev/null
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/EventMeta.java
@@ -0,0 +1,10 @@
+package io.github.jwdeveloper.tiktok.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface EventMeta
+{
+ EventType eventType();
+}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/EventType.java b/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/EventType.java
new file mode 100644
index 0000000..27c79f1
--- /dev/null
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/EventType.java
@@ -0,0 +1,10 @@
+package io.github.jwdeveloper.tiktok.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+
+public enum EventType
+{
+ Control, Message, Custom
+}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/Nullable.java b/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/Nullable.java
deleted file mode 100644
index 716cf6b..0000000
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/Nullable.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package io.github.jwdeveloper.tiktok.annotations;
-
-public @interface Nullable {
-}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/TikTokEventHandler.java b/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/TikTokEventHandler.java
new file mode 100644
index 0000000..a7882c1
--- /dev/null
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/annotations/TikTokEventHandler.java
@@ -0,0 +1,10 @@
+package io.github.jwdeveloper.tiktok.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface TikTokEventHandler
+{
+
+}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/TikTokEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/TikTokEvent.java
index c70cc90..1ac8481 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/TikTokEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/TikTokEvent.java
@@ -3,39 +3,11 @@ package io.github.jwdeveloper.tiktok.events;
import io.github.jwdeveloper.tiktok.messages.*;
import lombok.Getter;
+/*
+ Base class for all events
+ */
@Getter
-public class TikTokEvent {
- private long messageId;
- private long roomId;
- private long timeStamp;
+public abstract class TikTokEvent
+{
- 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() {
-
- }
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/TikTokEventBuilder.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/TikTokEventBuilder.java
index 8784fad..3f17981 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/TikTokEventBuilder.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/TikTokEventBuilder.java
@@ -66,7 +66,7 @@ public interface TikTokEventBuilder {
T onError(TikTokEventConsumer event);
- T onUnhandled(TikTokEventConsumer event);
+ T onUnhandled(TikTokEventConsumer event);
T onJoin(TikTokEventConsumer event);
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/base/TikTokHeaderEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/base/TikTokHeaderEvent.java
new file mode 100644
index 0000000..c80e9d8
--- /dev/null
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/base/TikTokHeaderEvent.java
@@ -0,0 +1,48 @@
+package io.github.jwdeveloper.tiktok.events.base;
+
+import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.messages.*;
+import lombok.Getter;
+
+@Getter
+public class TikTokHeaderEvent extends TikTokEvent {
+ private final long messageId;
+ private final long roomId;
+ private final long timeStamp;
+
+ public TikTokHeaderEvent(Common header) {
+ this(header.getMsgId(), header.getRoomId(), header.getCreateTime());
+ }
+
+ public TikTokHeaderEvent(MessageHeader header) {
+ this(header.getMessageId(), header.getRoomId(), header.getTimeStamp1());
+ }
+
+ public TikTokHeaderEvent(GiftMessageHeader header) {
+ this(header.getMessageId(), header.getRoomId(), header.getTimeStamp1());
+ }
+
+ public TikTokHeaderEvent(MemberMessageHeader header) {
+ this(header.getMessageId(), header.getRoomId(), header.getTimeStamp1());
+ }
+
+ public TikTokHeaderEvent(SocialMessageHeader header) {
+ this(header.getMessageId(), header.getRoomId(), header.getTimeStamp1());
+ }
+
+ public TikTokHeaderEvent(LikeMessageHeader header) {
+ this(header.getMessageId(), header.getRoomId(), header.getTimeStamp1());
+ }
+
+ public TikTokHeaderEvent(long messageId, long roomId, long timeStamp) {
+ this.messageId = messageId;
+ this.roomId = roomId;
+ this.timeStamp = timeStamp;
+ }
+
+ public TikTokHeaderEvent() {
+ messageId = 0;
+ roomId = 0;
+ timeStamp = 0;
+ }
+}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/base/TikTokLiveClientEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/base/TikTokLiveClientEvent.java
new file mode 100644
index 0000000..415b380
--- /dev/null
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/base/TikTokLiveClientEvent.java
@@ -0,0 +1,7 @@
+package io.github.jwdeveloper.tiktok.events.base;
+
+import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+
+
+public class TikTokLiveClientEvent extends TikTokEvent {
+}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/base/TikTokUnhandledEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/base/TikTokUnhandledEvent.java
new file mode 100644
index 0000000..398d712
--- /dev/null
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/base/TikTokUnhandledEvent.java
@@ -0,0 +1,12 @@
+package io.github.jwdeveloper.tiktok.events.base;
+
+import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public class TikTokUnhandledEvent extends TikTokEvent
+{
+ private final T data;
+}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokBarrageMessageEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokBarrageMessageEvent.java
index 3ab5f85..0a27aba 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokBarrageMessageEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokBarrageMessageEvent.java
@@ -1,29 +1,28 @@
package io.github.jwdeveloper.tiktok.events.messages;
-import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+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.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;
+import lombok.Value;
+@Value
+@EventMeta(eventType = EventType.Message)
+public class TikTokBarrageMessageEvent extends TikTokHeaderEvent {
+ Picture picture;
+ Picture picture2;
+ Picture picture3;
+ User user;
+ BarrageData barrageData;
public TikTokBarrageMessageEvent(WebcastBarrageMessage msg) {
super(msg.getHeader());
- picture = new Picture(msg.getPicture());
- picture2 = new Picture(msg.getPicture2());
- picture3 = new Picture(msg.getPicture3());
+ picture = new Picture(msg.getImage());
+ picture2 = new Picture(msg.getImage2());
+ picture3 = new Picture(msg.getImage3());
user = new User(msg.getUserData().getUser());
barrageData = new BarrageData(msg.getMessage().getEventType(),
msg.getMessage().getLabel(),
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokCaptionEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokCaptionEvent.java
index b67c203..c3a1746 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokCaptionEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokCaptionEvent.java
@@ -1,16 +1,19 @@
package io.github.jwdeveloper.tiktok.events.messages;
-import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+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.messages.WebcastCaptionMessage;
-import lombok.Getter;
+import lombok.Value;
-@Getter
-public class TikTokCaptionEvent extends TikTokEvent {
- private final Long captionTimeStamp;
+@Value
+@EventMeta(eventType = EventType.Message)
+public class TikTokCaptionEvent extends TikTokHeaderEvent {
+ Long captionTimeStamp;
- private final String iSOLanguage;
+ String iSOLanguage;
- private final String text;
+ String text;
public TikTokCaptionEvent(WebcastCaptionMessage msg) {
super(msg.getHeader());
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokCommentEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokCommentEvent.java
index cb68495..840d7eb 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokCommentEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokCommentEvent.java
@@ -1,30 +1,30 @@
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.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
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 lombok.Value;
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 mentionedUsers;
- private final List pictures;
+@Value
+@EventMeta(eventType = EventType.Message)
+public class TikTokCommentEvent extends TikTokHeaderEvent {
+ User user;
+ String text;
+ String language;
+ List mentionedUsers;
+ List pictures;
public TikTokCommentEvent(WebcastRoomPinMessage.RoomPinMessageData data) {
super(data.getDetails().getRoomId(), data.getDetails().getMessageId(), data.getDetails().getServerTime());
- if (data.hasSender())
- user = new User(data.getSender());
+ user = User.MapOrEmpty(data.getSender());
text = data.getComment();
language = data.getLanguage();
mentionedUsers = new ArrayList<>();
@@ -33,11 +33,10 @@ public class TikTokCommentEvent extends TikTokEvent
public TikTokCommentEvent(WebcastChatMessage msg) {
super(msg.getHeader());
- if (msg.hasSender())
- user = new User(msg.getSender());
+ user = User.MapOrEmpty(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();
+ pictures = msg.getImagesList().stream().map(e -> new Picture(e.getImage())).toList();
}
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokConnectedEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokConnectedEvent.java
index e9d50d7..0d5ac90 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokConnectedEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokConnectedEvent.java
@@ -1,8 +1,9 @@
package io.github.jwdeveloper.tiktok.events.messages;
-
-import io.github.jwdeveloper.tiktok.events.TikTokEvent;
-
-public class TikTokConnectedEvent extends TikTokEvent
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
+import io.github.jwdeveloper.tiktok.events.base.TikTokLiveClientEvent;
+@EventMeta(eventType = EventType.Control)
+public class TikTokConnectedEvent extends TikTokLiveClientEvent
{
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokDetectMessageEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokDetectMessageEvent.java
index bd7d884..3384874 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokDetectMessageEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokDetectMessageEvent.java
@@ -1,18 +1,22 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastMsgDetectMessage;
import lombok.Getter;
import java.util.List;
@Getter
-public class TikTokDetectMessageEvent extends TikTokEvent {
- private final String language;
+@EventMeta(eventType = EventType.Message)
+public class TikTokDetectMessageEvent extends TikTokHeaderEvent {
+ String language;
- private final List data;
+ List data;
- private final List timings;
+ List timings;
public TikTokDetectMessageEvent(WebcastMsgDetectMessage msg) {
super(msg.getHeader());;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokDisconnectedEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokDisconnectedEvent.java
index 525fa31..3f65039 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokDisconnectedEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokDisconnectedEvent.java
@@ -1,6 +1,8 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
+import io.github.jwdeveloper.tiktok.events.base.TikTokLiveClientEvent;
-import io.github.jwdeveloper.tiktok.events.TikTokEvent;
-
-public class TikTokDisconnectedEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Control)
+public class TikTokDisconnectedEvent extends TikTokLiveClientEvent {
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokEmoteEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokEmoteEvent.java
index 28d2a2a..9738088 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokEmoteEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokEmoteEvent.java
@@ -1,25 +1,23 @@
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.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
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;
+import lombok.Value;
-@Getter
-public class TikTokEmoteEvent extends TikTokEvent
-{
- @Nullable
- private User user;
- private final String emoteId;
- private final Picture picture;
+@Value
+@EventMeta(eventType = EventType.Message)
+public class TikTokEmoteEvent extends TikTokHeaderEvent {
+ User user;
+ String emoteId;
+ Picture picture;
public TikTokEmoteEvent(WebcastEmoteChatMessage msg) {
super(msg.getHeader());
- if (msg.hasSender()) {
- user = new User(msg.getSender());
- }
+ user = User.MapOrEmpty(msg.getSender());
emoteId = msg.getDetails().getId();
picture = new Picture(msg.getDetails().getImage().getUrl());
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokEnvelopeEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokEnvelopeEvent.java
index 3b0ae05..8ad5b61 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokEnvelopeEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokEnvelopeEvent.java
@@ -1,14 +1,18 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.User;
import io.github.jwdeveloper.tiktok.messages.WebcastEnvelopeMessage;
import lombok.Getter;
+import lombok.Value;
-@Getter
-public class TikTokEnvelopeEvent extends TikTokEvent {
- private final User user;
-
+@Value
+@EventMeta(eventType = EventType.Message)
+public class TikTokEnvelopeEvent extends TikTokHeaderEvent {
+ User user;
public TikTokEnvelopeEvent(WebcastEnvelopeMessage msg) {
super(msg.getHeader());
user = new User(msg.getUser().getId(), msg.getUser().getUsername());
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokErrorEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokErrorEvent.java
index 20d0731..57bd973 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokErrorEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokErrorEvent.java
@@ -1,12 +1,16 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokLiveClientEvent;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
-public class TikTokErrorEvent extends TikTokEvent
+@EventMeta(eventType = EventType.Control)
+public class TikTokErrorEvent extends TikTokLiveClientEvent
{
private final Throwable exception;
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokFollowEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokFollowEvent.java
index f8e8236..75e0533 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokFollowEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokFollowEvent.java
@@ -1,25 +1,22 @@
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.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.User;
import io.github.jwdeveloper.tiktok.messages.WebcastSocialMessage;
-import lombok.Getter;
+import lombok.Value;
-@Getter
-public class TikTokFollowEvent extends TikTokEvent
+@Value
+@EventMeta(eventType = EventType.Custom)
+public class TikTokFollowEvent extends TikTokHeaderEvent
{
- @Nullable
- private User newFollower;
- private final Long totalFollowers;
+ User newFollower;
+ Long totalFollowers;
public TikTokFollowEvent(WebcastSocialMessage msg) {
super(msg.getHeader());
- if(msg.hasSender())
- {
- newFollower = new User(msg.getSender());
- }
+ newFollower = User.MapOrEmpty(msg.getSender());
totalFollowers = msg.getTotalFollowers();
-
}
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGiftBroadcastEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGiftBroadcastEvent.java
index 976e29c..88873eb 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGiftBroadcastEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGiftBroadcastEvent.java
@@ -1,27 +1,32 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.Picture;
import io.github.jwdeveloper.tiktok.messages.WebcastGiftBroadcastMessage;
import lombok.Getter;
+import lombok.Value;
-@Getter
-public class TikTokGiftBroadcastEvent extends TikTokEvent
+@Value
+@EventMeta(eventType = EventType.Message)
+public class TikTokGiftBroadcastEvent extends TikTokHeaderEvent
{
- private final Picture picture;
+ Picture picture;
- private final String shortURL;
+ String shortURL;
- private final String notifyEventType;
+ String notifyEventType;
- private final String notifyLabel;
+ String notifyLabel;
- private final String notifyType;
+ String notifyType;
public TikTokGiftBroadcastEvent(WebcastGiftBroadcastMessage msg)
{
super(msg.getHeader());
- picture = new Picture(msg.getPicture());
+ picture = new Picture(msg.getImage());
var data = msg.getData();
shortURL = data.getUri();
notifyEventType = data.getRoomNotifyMessage().getData().getType();
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGiftMessageEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGiftMessageEvent.java
index c07c862..505a475 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGiftMessageEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGiftMessageEvent.java
@@ -1,41 +1,33 @@
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.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.Gift;
-import io.github.jwdeveloper.tiktok.events.objects.TikTokGift;
import io.github.jwdeveloper.tiktok.events.objects.User;
import io.github.jwdeveloper.tiktok.messages.WebcastGiftMessage;
-import lombok.Getter;
+import lombok.Value;
-@Getter
-public class TikTokGiftMessageEvent extends TikTokEvent {
+@Value
+@EventMeta(eventType = EventType.Message)
+public class TikTokGiftMessageEvent extends TikTokHeaderEvent {
- 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;
+ Gift gift;
+ User sender;
+ String purchaseId;
+ String receipt;
+ Long comboCount;
+ Boolean streakFinished;
+ Long streakIndex;
public TikTokGiftMessageEvent(WebcastGiftMessage msg) {
- super(msg.getHeader());
- gift = new Gift(msg.getGiftDetails());
- if (msg.hasSender()) {
- sender = new User(msg.getSender());
- }
+ super(msg.getCommon());
+ gift = new Gift(msg.getGift());
+ sender = User.MapOrEmpty(msg.getUser());
purchaseId = msg.getLogId();
- receipt = msg.getReceiptJson();
- amount = msg.getAmount();
- streakFinished = msg.getRepeatEnd();
+ receipt = msg.getMonitorExtra();
+ comboCount = msg.getComboCount();
+ streakFinished = msg.getRepeatEnd() > 0; //todo check values
streakIndex = msg.getRepeatCount();
}
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGoalUpdateEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGoalUpdateEvent.java
index c886b0a..6794e7a 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGoalUpdateEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokGoalUpdateEvent.java
@@ -1,6 +1,9 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.Picture;
import io.github.jwdeveloper.tiktok.events.objects.User;
@@ -10,7 +13,8 @@ import lombok.Getter;
import java.util.List;
@Getter
-public class TikTokGoalUpdateEvent extends TikTokEvent
+@EventMeta(eventType = EventType.Message)
+public class TikTokGoalUpdateEvent extends TikTokHeaderEvent
{
private final Long goalId;
private final Picture picture;
@@ -20,10 +24,10 @@ public class TikTokGoalUpdateEvent extends TikTokEvent
public TikTokGoalUpdateEvent(WebcastGoalUpdateMessage msg) {
super(msg.getHeader());
- picture = new Picture(msg.getPicture());
+ picture = new Picture(msg.getImage());
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();
+ users = msg.getUpdateData().getUsersList().stream().map(u ->new User(u.getId(),u.getNickname(),new Picture(u.getProfileImage()))).toList();
}
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokIMDeleteEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokIMDeleteEvent.java
index 6f50cbb..e9cd408 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokIMDeleteEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokIMDeleteEvent.java
@@ -1,11 +1,15 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastImDeleteMessage;
import lombok.Getter;
@Getter
-public class TikTokIMDeleteEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokIMDeleteEvent extends TikTokHeaderEvent {
private final byte[] data;
public TikTokIMDeleteEvent(WebcastImDeleteMessage msg) {
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokInRoomBannerEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokInRoomBannerEvent.java
index b088ae7..4c2aec0 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokInRoomBannerEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokInRoomBannerEvent.java
@@ -1,12 +1,16 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastInRoomBannerMessage;
import lombok.Getter;
@Getter
-public class TikTokInRoomBannerEvent extends TikTokEvent {
- private String jSON;
+@EventMeta(eventType = EventType.Message)
+public class TikTokInRoomBannerEvent extends TikTokHeaderEvent {
+ private final String jSON;
public TikTokInRoomBannerEvent(WebcastInRoomBannerMessage msg) {
super(msg.getHeader());;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokJoinEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokJoinEvent.java
index 5980ba4..240fa25 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokJoinEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokJoinEvent.java
@@ -1,15 +1,16 @@
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.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
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
+@EventMeta(eventType = EventType.Custom)
+public class TikTokJoinEvent extends TikTokHeaderEvent {
private User user;
private final Long totalViewers;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLikeEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLikeEvent.java
index 18d473e..5d1d34e 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLikeEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLikeEvent.java
@@ -1,16 +1,17 @@
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.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
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
+@EventMeta(eventType = EventType.Custom)
+public class TikTokLikeEvent extends TikTokHeaderEvent
{
- @Nullable
private User sender;
private final Integer count;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkLayerMessageEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkLayerMessageEvent.java
index 029e502..eee5179 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkLayerMessageEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkLayerMessageEvent.java
@@ -1,12 +1,16 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastLinkLayerMessage;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
-public class TikTokLinkLayerMessageEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokLinkLayerMessageEvent extends TikTokHeaderEvent {
private final Long linkId;
private final LinkData link1;
private final LinkData link2;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMessageEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMessageEvent.java
index 8763aaf..2373b10 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMessageEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMessageEvent.java
@@ -1,7 +1,8 @@
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.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.User;
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMessage;
import lombok.Getter;
@@ -9,10 +10,10 @@ import lombok.Getter;
import java.util.List;
@Getter
-public class TikTokLinkMessageEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokLinkMessageEvent extends TikTokHeaderEvent {
private final String token;
- @Nullable
private User user;
private final List otherUsers;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicArmiesEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicArmiesEvent.java
index bc789c4..4dbf246 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicArmiesEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicArmiesEvent.java
@@ -1,6 +1,9 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.LinkMicArmy;
import io.github.jwdeveloper.tiktok.events.objects.Picture;
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMicArmies;
@@ -9,7 +12,8 @@ import lombok.Getter;
import java.util.List;
@Getter
-public class TikTokLinkMicArmiesEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokLinkMicArmiesEvent extends TikTokHeaderEvent {
private final Long battleId;
private final Integer battleStatus;
@@ -22,7 +26,7 @@ public class TikTokLinkMicArmiesEvent extends TikTokEvent {
super(msg.getHeader());
battleId = msg.getId();
armies = msg.getBattleItemsList().stream().map(LinkMicArmy::new).toList();
- picture = new Picture(msg.getPicture());
+ picture = new Picture(msg.getImage());
battleStatus = msg.getBattleStatus();
}
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicBattleEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicBattleEvent.java
index 0890c4c..011bdef 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicBattleEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicBattleEvent.java
@@ -1,6 +1,9 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.LinkMicBattleTeam;
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMicBattle;
import lombok.Getter;
@@ -8,7 +11,8 @@ import lombok.Getter;
import java.util.List;
@Getter
-public class TikTokLinkMicBattleEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokLinkMicBattleEvent extends TikTokHeaderEvent {
private final Long battleId;
private final List team1;
private final List team2;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicFanTicketEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicFanTicketEvent.java
index 33a0002..f1273b8 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicFanTicketEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicFanTicketEvent.java
@@ -1,11 +1,15 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMicFanTicketMethod;
import lombok.Getter;
@Getter
-public class TikTokLinkMicFanTicketEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokLinkMicFanTicketEvent extends TikTokHeaderEvent {
private final Long id;
private final Integer data1;
private final Integer data2;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicMethodEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicMethodEvent.java
index 83dc22d..617d909 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicMethodEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLinkMicMethodEvent.java
@@ -1,12 +1,16 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.messages.LinkMicMethod;
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMicMethod;
import lombok.Getter;
@Getter
-public class TikTokLinkMicMethodEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokLinkMicMethodEvent extends TikTokHeaderEvent {
private final String jSON;
public TikTokLinkMicMethodEvent(WebcastLinkMicMethod msg) {
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLiveEndedEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLiveEndedEvent.java
index 4471fc7..665c0f8 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLiveEndedEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLiveEndedEvent.java
@@ -1,6 +1,8 @@
package io.github.jwdeveloper.tiktok.events.messages;
-
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+@EventMeta(eventType = EventType.Custom)
public class TikTokLiveEndedEvent extends TikTokEvent {
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLivePausedEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLivePausedEvent.java
index 3241cce..b96726c 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLivePausedEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokLivePausedEvent.java
@@ -1,6 +1,9 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+@EventMeta(eventType = EventType.Custom)
public class TikTokLivePausedEvent extends TikTokEvent {
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokPollMessageEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokPollMessageEvent.java
index a8ce5ca..5f76f7b 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokPollMessageEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokPollMessageEvent.java
@@ -1,6 +1,9 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.PollOption;
import io.github.jwdeveloper.tiktok.events.objects.User;
import io.github.jwdeveloper.tiktok.messages.WebcastPollMessage;
@@ -9,7 +12,8 @@ import lombok.Getter;
import java.util.List;
@Getter
-public class TikTokPollMessageEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokPollMessageEvent extends TikTokHeaderEvent {
private final Long id;
private final PollOption option1;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokQuestionEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokQuestionEvent.java
index 6d97696..c3322b4 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokQuestionEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokQuestionEvent.java
@@ -1,12 +1,16 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.User;
import io.github.jwdeveloper.tiktok.messages.WebcastQuestionNewMessage;
import lombok.Getter;
@Getter
-public class TikTokQuestionEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokQuestionEvent extends TikTokHeaderEvent {
private final Long questionId;
private final String text;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRankTextEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRankTextEvent.java
index 957a916..bc39336 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRankTextEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRankTextEvent.java
@@ -1,14 +1,18 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastRankTextMessage;
import lombok.Getter;
@Getter
-public class TikTokRankTextEvent extends TikTokEvent {
- private String eventType;
+@EventMeta(eventType = EventType.Message)
+public class TikTokRankTextEvent extends TikTokHeaderEvent {
+ private final String eventType;
- private String label;
+ private final String label;
public TikTokRankTextEvent(WebcastRankTextMessage msg) {
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRankUpdateEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRankUpdateEvent.java
index 36d54bc..7962cf5 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRankUpdateEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRankUpdateEvent.java
@@ -1,12 +1,16 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastHourlyRankMessage;
import io.github.jwdeveloper.tiktok.messages.WebcastRankUpdateMessage;
import lombok.Getter;
@Getter
-public class TikTokRankUpdateEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokRankUpdateEvent extends TikTokHeaderEvent {
private final String eventType;
private final String label;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomMessageEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomMessageEvent.java
index af978a0..3140cfd 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomMessageEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomMessageEvent.java
@@ -1,7 +1,8 @@
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.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.User;
import io.github.jwdeveloper.tiktok.messages.RoomMessage;
import io.github.jwdeveloper.tiktok.messages.SystemMessage;
@@ -10,10 +11,9 @@ import io.github.jwdeveloper.tiktok.messages.WebcastRoomMessage;
import lombok.Getter;
@Getter
-public class TikTokRoomMessageEvent extends TikTokEvent {
- @Nullable
+@EventMeta(eventType = EventType.Message)
+public class TikTokRoomMessageEvent extends TikTokHeaderEvent {
private User host;
- @Nullable
private String hostLanguage;
private final String message;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomPinMessageEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomPinMessageEvent.java
index f7ee735..659ab39 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomPinMessageEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomPinMessageEvent.java
@@ -1,11 +1,15 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastRoomPinMessage;
import lombok.Getter;
@Getter
-public class TikTokRoomPinMessageEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokRoomPinMessageEvent extends TikTokHeaderEvent {
private final Long pinTimeStamp;
private final TikTokCommentEvent comment;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomViewerDataEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomViewerDataEvent.java
index a15d54c..52dcb8b 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomViewerDataEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokRoomViewerDataEvent.java
@@ -1,6 +1,9 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.TopViewer;
import io.github.jwdeveloper.tiktok.messages.WebcastRoomUserSeqMessage;
import lombok.Getter;
@@ -8,7 +11,8 @@ import lombok.Getter;
import java.util.List;
@Getter
-public class TikTokRoomViewerDataEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokRoomViewerDataEvent extends TikTokHeaderEvent {
private final Integer viewerCount;
private final List topViewers;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokShareEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokShareEvent.java
index 2fe5080..c70192c 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokShareEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokShareEvent.java
@@ -1,31 +1,28 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
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;
+@EventMeta(eventType = EventType.Custom)
+public class TikTokShareEvent extends TikTokHeaderEvent {
+ private final User user;
+ private final Integer amount;
public TikTokShareEvent(WebcastSocialMessage msg, Integer amount) {
super(msg.getHeader());;
- if(msg.hasSender())
- {
- user = new User(msg.getSender());
- }
+ user = User.MapOrEmpty(msg.getSender());
this.amount = amount;
}
public TikTokShareEvent(WebcastSocialMessage msg) {
super(msg.getHeader());
- if(msg.hasSender())
- {
- user = new User(msg.getSender());
- }
+ user = User.MapOrEmpty(msg.getSender());
amount = 1;
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokShopMessageEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokShopMessageEvent.java
index 62e383b..aa01872 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokShopMessageEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokShopMessageEvent.java
@@ -1,12 +1,16 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.Picture;
import io.github.jwdeveloper.tiktok.messages.WebcastOecLiveShoppingMessage;
import lombok.Getter;
@Getter
-public class TikTokShopMessageEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokShopMessageEvent extends TikTokHeaderEvent {
private final String title;
private final String price;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokSubNotifyEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokSubNotifyEvent.java
index 298ce1a..ede35a8 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokSubNotifyEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokSubNotifyEvent.java
@@ -1,12 +1,16 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.User;
import io.github.jwdeveloper.tiktok.messages.WebcastSubNotifyMessage;
import lombok.Getter;
@Getter
-public class TikTokSubNotifyEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokSubNotifyEvent extends TikTokHeaderEvent {
private User user;
public TikTokSubNotifyEvent(WebcastSubNotifyMessage msg) {
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokSubscribeEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokSubscribeEvent.java
index 7a3f792..0f5a924 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokSubscribeEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokSubscribeEvent.java
@@ -1,12 +1,16 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.events.objects.User;
import io.github.jwdeveloper.tiktok.messages.WebcastMemberMessage;
import lombok.Getter;
@Getter
-public class TikTokSubscribeEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Custom)
+public class TikTokSubscribeEvent extends TikTokHeaderEvent {
private User newSubscriber;
public TikTokSubscribeEvent(WebcastMemberMessage msg) {
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnauthorizedMemberEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnauthorizedMemberEvent.java
index 8ca9075..5a97696 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnauthorizedMemberEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnauthorizedMemberEvent.java
@@ -1,12 +1,16 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokHeaderEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastUnauthorizedMemberMessage;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
-public class TikTokUnauthorizedMemberEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Message)
+public class TikTokUnauthorizedMemberEvent extends TikTokHeaderEvent {
private final String data;
private final UnauthorizedMemberData event;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledControlEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledControlEvent.java
index 3704279..390cdfd 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledControlEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledControlEvent.java
@@ -1,13 +1,18 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokUnhandledEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastControlMessage;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
-@AllArgsConstructor
-public class TikTokUnhandledControlEvent extends TikTokEvent {
+@EventMeta(eventType = EventType.Custom)
+public class TikTokUnhandledControlEvent extends TikTokUnhandledEvent {
- private final WebcastControlMessage message;
+ public TikTokUnhandledControlEvent(WebcastControlMessage data) {
+ super(data);
+ }
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledEvent.java
deleted file mode 100644
index 9045111..0000000
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledEvent.java
+++ /dev/null
@@ -1,14 +0,0 @@
-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;
-}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledMemberEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledMemberEvent.java
index 5478d15..ecdd893 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledMemberEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledMemberEvent.java
@@ -1,13 +1,18 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokUnhandledEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastMemberMessage;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
-@AllArgsConstructor
-public class TikTokUnhandledMemberEvent extends TikTokEvent
+@EventMeta(eventType = EventType.Message)
+public class TikTokUnhandledMemberEvent extends TikTokUnhandledEvent
{
- private final WebcastMemberMessage message;
+ public TikTokUnhandledMemberEvent(WebcastMemberMessage data) {
+ super(data);
+ }
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledSocialEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledSocialEvent.java
index c92b5fb..a400cad 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledSocialEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledSocialEvent.java
@@ -1,13 +1,19 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokUnhandledEvent;
+import io.github.jwdeveloper.tiktok.messages.WebcastMemberMessage;
import io.github.jwdeveloper.tiktok.messages.WebcastSocialMessage;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
-@AllArgsConstructor
-public class TikTokUnhandledSocialEvent extends TikTokEvent
+@EventMeta(eventType = EventType.Custom)
+public class TikTokUnhandledSocialEvent extends TikTokUnhandledEvent
{
- private final WebcastSocialMessage message;
+ public TikTokUnhandledSocialEvent(WebcastSocialMessage data) {
+ super(data);
+ }
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledWebsocketMessageEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledWebsocketMessageEvent.java
new file mode 100644
index 0000000..bdd7e40
--- /dev/null
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokUnhandledWebsocketMessageEvent.java
@@ -0,0 +1,19 @@
+package io.github.jwdeveloper.tiktok.events.messages;
+
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
+import io.github.jwdeveloper.tiktok.events.TikTokEvent;
+import io.github.jwdeveloper.tiktok.events.base.TikTokUnhandledEvent;
+import io.github.jwdeveloper.tiktok.messages.WebcastResponse;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+
+@Getter
+@EventMeta(eventType = EventType.Message)
+public class TikTokUnhandledWebsocketMessageEvent extends TikTokUnhandledEvent
+{
+ public TikTokUnhandledWebsocketMessageEvent(WebcastResponse.Message data) {
+ super(data);
+ }
+}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokWebsocketMessageEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokWebsocketMessageEvent.java
index b77b607..5808ebc 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokWebsocketMessageEvent.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokWebsocketMessageEvent.java
@@ -1,16 +1,20 @@
package io.github.jwdeveloper.tiktok.events.messages;
+import io.github.jwdeveloper.tiktok.annotations.EventMeta;
+import io.github.jwdeveloper.tiktok.annotations.EventType;
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
import io.github.jwdeveloper.tiktok.messages.WebcastResponse;
import lombok.AllArgsConstructor;
import lombok.Data;
+import lombok.Getter;
/**
* Happens when TikTok websocket receive message from server
*/
-@Data
+@Getter
@AllArgsConstructor
+@EventMeta(eventType = EventType.Custom)
public class TikTokWebsocketMessageEvent extends TikTokEvent
{
private TikTokEvent event;
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Badge.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Badge.java
index f80bb2d..d0c03ec 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Badge.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Badge.java
@@ -1,41 +1,77 @@
package io.github.jwdeveloper.tiktok.events.objects;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
+import io.github.jwdeveloper.tiktok.messages.BadgeStruct;
+import lombok.Value;
+import java.util.ArrayList;
import java.util.List;
-@Getter
+@Value
public class Badge {
- private ComboBadge comboBadges;
- private final List textBadges;
- private final List imageBadges;
+ ComboBadge comboBadges;
+ List textBadges;
+ List 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());
+ public Badge(ComboBadge comboBadges, List textBadges, List imageBadges) {
+ this.comboBadges = comboBadges;
+ this.textBadges = textBadges;
+ this.imageBadges = imageBadges;
}
-
- @AllArgsConstructor
- @Getter
- public class TextBadge {
- private final String type;
- private final String name;
+ public Badge(io.github.jwdeveloper.tiktok.messages.BadgeStruct badge)
+ {
+ comboBadges = ComboBadge.map(badge.getCombine());
+ textBadges = TextBadge.mapAll(badge.getTextList());
+ imageBadges = ImageBadge.mapAll(badge.getImageList());
}
- @AllArgsConstructor
- @Getter
- public class ImageBadge {
- private final Integer displayType;
- private final Picture image;
+ @Value
+ public static class TextBadge {
+ EnumValue type;
+ String name;
+
+ public static TextBadge map(BadgeStruct.TextBadge input) {
+ return new TextBadge(EnumValue.Map(input.getDisplayType()),input.getKey());
+ }
+ public static List mapAll(List list) {
+ return list.stream().map(TextBadge::map).toList();
+ }
}
- @AllArgsConstructor
- @Getter
- public class ComboBadge {
- private final Picture image;
- private final String data;
+ @Value
+ public static class ImageBadge {
+ EnumValue displayType;
+ Picture image;
+
+ public static ImageBadge map(BadgeStruct.ImageBadge input) {
+ return new ImageBadge(EnumValue.Map(input.getDisplayType()), Picture.Map(input.getImage()));
+ }
+ public static List mapAll(List list) {
+ return list.stream().map(ImageBadge::map).toList();
+ }
+ }
+
+ @Value
+ public static class ComboBadge {
+ Picture image;
+ String data;
+
+ public static ComboBadge map(BadgeStruct.CombineBadge input) {
+ return new ComboBadge(Picture.Map(input.getIcon()),input.getStr());
+ }
+ public static List mapAll(List list) {
+ return list.stream().map(ComboBadge::map).toList();
+ }
+ }
+
+ public static Badge Empty() {
+ var comboBadge = new ComboBadge(Picture.Empty(), "");
+ var textBadges = new ArrayList();
+ var imageBadges = new ArrayList();
+ return new Badge(comboBadge, textBadges, imageBadges);
+ }
+
+ public static List EmptyList() {
+ return new ArrayList();
}
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/BarrageData.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/BarrageData.java
index a32ac3a..449d2d0 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/BarrageData.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/BarrageData.java
@@ -2,14 +2,15 @@ package io.github.jwdeveloper.tiktok.events.objects;
import lombok.AllArgsConstructor;
import lombok.Getter;
+import lombok.Value;
import java.util.List;
-@Getter
+@Value
public class BarrageData {
- private final String eventType;
- private final String label;
- private final List users;
+ String eventType;
+ String label;
+ List users;
public BarrageData(String eventType, String label, List users)
{
@@ -18,12 +19,11 @@ public class BarrageData {
this.users = users;
}
- @Getter
- @AllArgsConstructor
- public static final class BarrageUser
+ @Value
+ public static class BarrageUser
{
- private final User user;
+ User user;
- private final String data;
+ String data;
}
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/EnumValue.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/EnumValue.java
new file mode 100644
index 0000000..e9ce817
--- /dev/null
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/EnumValue.java
@@ -0,0 +1,15 @@
+package io.github.jwdeveloper.tiktok.events.objects;
+
+import lombok.Value;
+
+@Value
+public class EnumValue
+{
+ public int value;
+ public String name;
+
+ public static EnumValue Map(Enum> _enum)
+ {
+ return new EnumValue(_enum.ordinal() ,_enum.name());
+ }
+}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Gift.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Gift.java
index f1f0bad..e550286 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Gift.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Gift.java
@@ -1,27 +1,22 @@
package io.github.jwdeveloper.tiktok.events.objects;
-import lombok.Getter;
+import lombok.Value;
-@Getter
+@Value
public class Gift {
- private final Long id;
+ Long id;
+ String name;
+ String description;
+ Integer diamondCost;
+ Integer type;
+ Picture picture;
- 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) {
+ public Gift(io.github.jwdeveloper.tiktok.messages.GiftStruct gift) {
id = gift.getId();
name = gift.getName();
- description = gift.getDescription();
- diamondCost = gift.getCoinCount();
- type = gift.getGiftType();
+ description = gift.getDescribe();
+ diamondCost = gift.getDiamondCount();
+ type = gift.getType();
picture = new Picture(gift.getImage());
}
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/LinkMicArmy.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/LinkMicArmy.java
index c402e06..28ce279 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/LinkMicArmy.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/LinkMicArmy.java
@@ -1,31 +1,28 @@
package io.github.jwdeveloper.tiktok.events.objects;
import io.github.jwdeveloper.tiktok.messages.LinkMicArmiesItems;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
+import lombok.Value;
import java.util.List;
-@Getter
+@Value
public class LinkMicArmy {
- private final Long armyId;
- private final List armies;
+ Long armyId;
+ List 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()))
+ .map(x -> new Army(x.getUsersList().stream().map(User::MapOrEmpty).toList(), x.getPoints()))
+
+
.toList();
}
-
- @Getter
- @AllArgsConstructor
- public final class Army {
- private final List Users;
- private final Integer Points;
+ @Value
+ public static class Army {
+ List Users;
+ Integer Points;
}
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/LinkMicBattleTeam.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/LinkMicBattleTeam.java
index f46975a..6432a0f 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/LinkMicBattleTeam.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/LinkMicBattleTeam.java
@@ -3,13 +3,14 @@ package io.github.jwdeveloper.tiktok.events.objects;
import io.github.jwdeveloper.tiktok.messages.WebcastLinkMicBattle;
import lombok.Getter;
+import lombok.Value;
import java.util.List;
-@Getter
+@Value
public class LinkMicBattleTeam {
- private final Long teamId;
- private final List users;
+ Long teamId;
+ List users;
public LinkMicBattleTeam(WebcastLinkMicBattle.LinkMicBattleTeam team) {
this.teamId = team.getId();
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Picture.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Picture.java
index 1048a6b..f375cad 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Picture.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/Picture.java
@@ -1,19 +1,20 @@
package io.github.jwdeveloper.tiktok.events.objects;
import lombok.Getter;
+import lombok.Value;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-@Getter
+@Value
public class Picture {
- public final List urls;
+ List urls;
- public Picture(io.github.jwdeveloper.tiktok.messages.Picture profilePicture) {
- this.urls = profilePicture.getUrlsList();
+ public Picture(io.github.jwdeveloper.tiktok.messages.Image profilePicture) {
+ this.urls = profilePicture.getUrlListList();
}
-
public Picture(List urls) {
this.urls = urls;
}
@@ -22,4 +23,29 @@ public class Picture {
{
this.urls = Arrays.stream(urls).toList();
}
+
+ public void downlaod()
+ {
+
+ }
+
+ public void downloadAsync()
+ {
+
+ }
+
+ public static Picture Map(io.github.jwdeveloper.tiktok.messages.Image profilePicture)
+ {
+ return new Picture(profilePicture.getUrlListList());
+ }
+
+ public static Picture Empty()
+ {
+ return new Picture();
+ }
+
+ public static List EmptyList()
+ {
+ return new ArrayList();
+ }
}
diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/PollOption.java b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/PollOption.java
index d5b30a7..326328b 100644
--- a/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/PollOption.java
+++ b/API/src/main/java/io/github/jwdeveloper/tiktok/events/objects/PollOption.java
@@ -2,18 +2,17 @@ package io.github.jwdeveloper.tiktok.events.objects;
import lombok.AllArgsConstructor;
import lombok.Getter;
+import lombok.Value;
import java.util.List;
-@Getter
-@AllArgsConstructor
+@Value
public class PollOption {
private final User user;
private final List