From 2bc1993ea5a0706e3f950377f82e2d84a1b62efc Mon Sep 17 00:00:00 2001 From: JW Date: Sun, 21 Jul 2024 12:08:27 +0200 Subject: [PATCH] - Create `of` methods for more events - User.name was empty in testing event - Add `onConnecting` to builder --- .../data/events/TikTokCommentEvent.java | 1 + .../data/events/TikTokConnectedEvent.java | 5 +++ .../data/events/TikTokDisconnectedEvent.java | 6 ++++ .../tiktok/data/events/TikTokErrorEvent.java | 9 +++-- .../data/events/TikTokLiveEndedEvent.java | 7 +++- .../data/events/TikTokSubscribeEvent.java | 1 + .../events/control/TikTokConnectingEvent.java | 6 ++-- .../data/events/social/TikTokFollowEvent.java | 15 ++++---- .../data/events/social/TikTokJoinEvent.java | 1 + .../data/events/social/TikTokLikeEvent.java | 1 + .../data/events/social/TikTokShareEvent.java | 34 ++++++++++++------- .../tiktok/live/builder/EventsBuilder.java | 13 +++++++ 12 files changed, 74 insertions(+), 25 deletions(-) diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokCommentEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokCommentEvent.java index 91dd6a0..b28ca0e 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokCommentEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokCommentEvent.java @@ -58,6 +58,7 @@ public class TikTokCommentEvent extends TikTokHeaderEvent { var builder = WebcastChatMessage.newBuilder(); builder.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() .setNickname(userName) + .setDisplayId(userName) .build()); builder.setContentLanguage("en"); builder.setVisibleToSender(true); diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokConnectedEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokConnectedEvent.java index b81ccdb..049f29b 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokConnectedEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokConnectedEvent.java @@ -29,4 +29,9 @@ import io.github.jwdeveloper.tiktok.data.events.common.TikTokLiveClientEvent; public class TikTokConnectedEvent extends TikTokLiveClientEvent { + + public static TikTokConnectedEvent of() + { + return new TikTokConnectedEvent(); + } } diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokDisconnectedEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokDisconnectedEvent.java index d15e14a..d5804cf 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokDisconnectedEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokDisconnectedEvent.java @@ -39,4 +39,10 @@ public class TikTokDisconnectedEvent extends TikTokLiveClientEvent { public TikTokDisconnectedEvent() { this("None"); } + + + public static TikTokDisconnectedEvent of(String reason) + { + return new TikTokDisconnectedEvent(reason); + } } \ No newline at end of file diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokErrorEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokErrorEvent.java index 1374eeb..4650aaf 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokErrorEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokErrorEvent.java @@ -25,13 +25,18 @@ package io.github.jwdeveloper.tiktok.data.events; import io.github.jwdeveloper.tiktok.annotations.EventMeta; import io.github.jwdeveloper.tiktok.annotations.EventType; import io.github.jwdeveloper.tiktok.data.events.common.TikTokLiveClientEvent; +import io.github.jwdeveloper.tiktok.exceptions.TikTokLiveException; import lombok.AllArgsConstructor; import lombok.Getter; @Getter @AllArgsConstructor @EventMeta(eventType = EventType.Control) -public class TikTokErrorEvent extends TikTokLiveClientEvent -{ +public class TikTokErrorEvent extends TikTokLiveClientEvent { private final Throwable exception; + + + public static TikTokErrorEvent of(String message) { + return new TikTokErrorEvent(new TikTokLiveException(message)); + } } diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokLiveEndedEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokLiveEndedEvent.java index 93af1f7..bb66762 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokLiveEndedEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokLiveEndedEvent.java @@ -24,9 +24,14 @@ package io.github.jwdeveloper.tiktok.data.events; import io.github.jwdeveloper.tiktok.annotations.EventMeta; import io.github.jwdeveloper.tiktok.annotations.EventType; import io.github.jwdeveloper.tiktok.data.events.common.TikTokEvent; - +import io.github.jwdeveloper.tiktok.data.events.control.TikTokConnectingEvent; @EventMeta(eventType = EventType.Message) public class TikTokLiveEndedEvent extends TikTokEvent { + + + public static TikTokLiveEndedEvent of() { + return new TikTokLiveEndedEvent(); + } } diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokSubscribeEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokSubscribeEvent.java index b4a07c1..a9f35ce 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokSubscribeEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokSubscribeEvent.java @@ -53,6 +53,7 @@ public class TikTokSubscribeEvent extends TikTokHeaderEvent { public static TikTokSubscribeEvent of(String userName) { return new TikTokSubscribeEvent(WebcastMemberMessage.newBuilder() .setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() + .setDisplayId(userName) .setNickname(userName) .build()) .build()); diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/control/TikTokConnectingEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/control/TikTokConnectingEvent.java index 86536a8..312c971 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/control/TikTokConnectingEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/control/TikTokConnectingEvent.java @@ -31,7 +31,9 @@ import io.github.jwdeveloper.tiktok.data.events.common.TikTokLiveClientEvent; * Triggered when client is connecting to live is successfully established. */ @EventMeta(eventType = EventType.Control) -public class TikTokConnectingEvent extends TikTokLiveClientEvent -{ +public class TikTokConnectingEvent extends TikTokLiveClientEvent { + public static TikTokConnectingEvent of() { + return new TikTokConnectingEvent(); + } } diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokFollowEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokFollowEvent.java index 4a5fbce..500ce07 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokFollowEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokFollowEvent.java @@ -32,8 +32,7 @@ import lombok.Value; @Value @EventMeta(eventType = EventType.Message) -public class TikTokFollowEvent extends TikTokHeaderEvent -{ +public class TikTokFollowEvent extends TikTokHeaderEvent { User user; int totalFollowers; @@ -43,12 +42,12 @@ public class TikTokFollowEvent extends TikTokHeaderEvent totalFollowers = msg.getFollowCount(); } - public static TikTokFollowEvent of(String userName) - { + public static TikTokFollowEvent of(String userName) { return new TikTokFollowEvent(WebcastSocialMessage.newBuilder() - .setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() - .setNickname(userName) - .build()) - .build()); + .setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() + .setDisplayId(userName) + .setNickname(userName) + .build()) + .build()); } } \ No newline at end of file diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokJoinEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokJoinEvent.java index d55a764..df54e43 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokJoinEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokJoinEvent.java @@ -53,6 +53,7 @@ public class TikTokJoinEvent extends TikTokHeaderEvent { { return new TikTokJoinEvent(WebcastMemberMessage.newBuilder() .setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() + .setDisplayId(userName) .setNickname(userName) .build()) .build()); diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokLikeEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokLikeEvent.java index c740928..ff02f7a 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokLikeEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokLikeEvent.java @@ -62,6 +62,7 @@ public class TikTokLikeEvent extends TikTokHeaderEvent .setCount(likes) .setTotal(likes) .setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() + .setDisplayId(userName) .setNickname(userName) .build()) .build()); diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokShareEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokShareEvent.java index 9d0f6f9..7a35363 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokShareEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokShareEvent.java @@ -26,6 +26,7 @@ import io.github.jwdeveloper.tiktok.annotations.EventMeta; import io.github.jwdeveloper.tiktok.annotations.EventType; import io.github.jwdeveloper.tiktok.data.events.common.TikTokHeaderEvent; import io.github.jwdeveloper.tiktok.data.models.users.User; +import io.github.jwdeveloper.tiktok.messages.webcast.WebcastLikeMessage; import io.github.jwdeveloper.tiktok.messages.webcast.WebcastSocialMessage; import lombok.Getter; @@ -33,18 +34,27 @@ import lombok.Getter; @Getter @EventMeta(eventType = EventType.Message) public class TikTokShareEvent extends TikTokHeaderEvent { - private final User user; - private final int totalShares; + private final User user; + private final int totalShares; - public TikTokShareEvent(WebcastSocialMessage msg, Integer amount) { - super(msg.getCommon()); - user = User.map(msg.getUser()); - this.totalShares = amount; - } + public TikTokShareEvent(WebcastSocialMessage msg, Integer amount) { + super(msg.getCommon()); + user = User.map(msg.getUser()); + this.totalShares = amount; + } - public TikTokShareEvent(WebcastSocialMessage msg) { - super(msg.getCommon()); - user = User.map(msg.getUser()); - totalShares = 1; - } + public TikTokShareEvent(WebcastSocialMessage msg) { + super(msg.getCommon()); + user = User.map(msg.getUser()); + totalShares = 1; + } + + public static TikTokShareEvent of(String userName, int shaders) { + return new TikTokShareEvent(WebcastSocialMessage.newBuilder() + .setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() + .setDisplayId(userName) + .setNickname(userName) + .build()) + .build(), shaders); + } } \ No newline at end of file diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/live/builder/EventsBuilder.java b/API/src/main/java/io/github/jwdeveloper/tiktok/live/builder/EventsBuilder.java index 9f19a27..6f9e74d 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/live/builder/EventsBuilder.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/live/builder/EventsBuilder.java @@ -24,6 +24,7 @@ package io.github.jwdeveloper.tiktok.live.builder; import io.github.jwdeveloper.tiktok.data.events.*; import io.github.jwdeveloper.tiktok.data.events.common.TikTokEvent; +import io.github.jwdeveloper.tiktok.data.events.control.TikTokConnectingEvent; import io.github.jwdeveloper.tiktok.data.events.control.TikTokPreConnectionEvent; import io.github.jwdeveloper.tiktok.data.events.gift.TikTokGiftComboEvent; import io.github.jwdeveloper.tiktok.data.events.gift.TikTokGiftEvent; @@ -60,6 +61,18 @@ public interface EventsBuilder { return onEvent(TikTokEvent.class, action); } + + /** + * As a first event after method `LiveClient::connect()` is performed + * + * @param action consumable action + * @return self instance + */ + default T onConnecting(EventConsumer action) + { + return onEvent(TikTokConnectingEvent.class, action); + } + /** * Invoked when information about room (live) got updated such as viewer count, etc.. *