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 a1516be..5388d15 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 @@ -47,11 +47,23 @@ public class TikTokCommentEvent extends TikTokHeaderEvent { public TikTokCommentEvent(WebcastChatMessage msg) { super(msg.getCommon()); - user = User.map(msg.getUser(),msg.getUserIdentity()); + user = User.map(msg.getUser(), msg.getUserIdentity()); text = msg.getContent(); visibleToSender = msg.getVisibleToSender(); getUserLanguage = msg.getContentLanguage(); mentionedUser = User.map(msg.getAtUser()); pictures = msg.getEmotesListList().stream().map(e -> Picture.map(e.getEmote().getImage())).toList(); } + + + public static TikTokCommentEvent of(String userName, String message) { + var builder = WebcastChatMessage.newBuilder(); + builder.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() + .setNickname(userName) + .build()); + builder.setContentLanguage("en"); + builder.setVisibleToSender(true); + builder.setContent(message); + return new TikTokCommentEvent(builder.build()); + } } 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 b545eba..fde3819 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 @@ -36,10 +36,10 @@ import lombok.Getter; */ @Getter @EventMeta(eventType = EventType.Message) -public class TikTokSubscribeEvent extends TikTokHeaderEvent -{ +public class TikTokSubscribeEvent extends TikTokHeaderEvent { private final User user; + public TikTokSubscribeEvent(WebcastMemberMessage msg) { super(msg.getCommon()); user = User.map(msg.getUser()); @@ -52,4 +52,11 @@ public class TikTokSubscribeEvent extends TikTokHeaderEvent user.addAttribute(UserAttribute.Subscriber); } + public static TikTokSubscribeEvent of(String userName) { + return new TikTokSubscribeEvent(WebcastMemberMessage.newBuilder() + .setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() + .setNickname(userName) + .build()) + .build()); + } } diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftComboEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftComboEvent.java index ea5eb18..6736566 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftComboEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftComboEvent.java @@ -23,6 +23,7 @@ package io.github.jwdeveloper.tiktok.data.events.gift; import io.github.jwdeveloper.tiktok.annotations.*; +import io.github.jwdeveloper.tiktok.data.models.Picture; import io.github.jwdeveloper.tiktok.data.models.gifts.*; import io.github.jwdeveloper.tiktok.data.models.users.User; import io.github.jwdeveloper.tiktok.messages.webcast.WebcastGiftMessage; @@ -32,7 +33,7 @@ import lombok.Getter; /** * Triggered every time gift is sent * - * @see GiftSendType it has 3 states + * @see GiftComboStateType it has 3 states * *

Example when user sends gift with combo

*

>Combo: 1 -> comboState = GiftSendType.Begin

@@ -45,10 +46,21 @@ import lombok.Getter; @EventMeta(eventType = EventType.Message) @Getter public class TikTokGiftComboEvent extends TikTokGiftEvent { - private final GiftSendType comboState; + private final GiftComboStateType comboState; - public TikTokGiftComboEvent(Gift gift, User host, WebcastGiftMessage msg, GiftSendType comboState) { + public TikTokGiftComboEvent(Gift gift, User host, WebcastGiftMessage msg, GiftComboStateType comboState) { super(gift, host, msg); this.comboState = comboState; } + + public static TikTokGiftComboEvent of(Gift gift, int combo, GiftComboStateType comboState) { + return new TikTokGiftComboEvent( + gift, + new User(0L, "Test", new Picture("")), + WebcastGiftMessage + .newBuilder() + .setComboCount(combo) + .build(), + comboState); + } } \ No newline at end of file diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftEvent.java index 2f0b46f..3b3cd0b 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftEvent.java @@ -25,6 +25,7 @@ package io.github.jwdeveloper.tiktok.data.events.gift; import io.github.jwdeveloper.tiktok.annotations.*; import io.github.jwdeveloper.tiktok.data.events.common.TikTokHeaderEvent; +import io.github.jwdeveloper.tiktok.data.models.Picture; import io.github.jwdeveloper.tiktok.data.models.gifts.*; import io.github.jwdeveloper.tiktok.data.models.users.User; import io.github.jwdeveloper.tiktok.messages.webcast.WebcastGiftMessage; @@ -55,4 +56,20 @@ public class TikTokGiftEvent extends TikTokHeaderEvent { } combo = msg.getComboCount(); } + + public TikTokGiftEvent(Gift gift) { + this.gift = gift; + user = new User(0L, "sender", new Picture("")); + toUser = new User(0L, "receiver", new Picture("")); + combo = 1; + } + + + public static TikTokGiftEvent of(Gift gift) { + return new TikTokGiftEvent(gift); + } + + public static TikTokGiftEvent of(String name, int id, int diamonds) { + return TikTokGiftEvent.of(new Gift(id, name, diamonds, "")); + } } \ No newline at end of file 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 c1715d5..5cbe573 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 @@ -24,8 +24,10 @@ package io.github.jwdeveloper.tiktok.data.events.social; import io.github.jwdeveloper.tiktok.annotations.EventMeta; import io.github.jwdeveloper.tiktok.annotations.EventType; +import io.github.jwdeveloper.tiktok.data.events.TikTokSubscribeEvent; 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.WebcastMemberMessage; import io.github.jwdeveloper.tiktok.messages.webcast.WebcastSocialMessage; import lombok.Value; @@ -45,4 +47,12 @@ public class TikTokFollowEvent extends TikTokHeaderEvent totalFollowers = msg.getFollowCount(); } + public static TikTokFollowEvent of(String userName) + { + return new TikTokFollowEvent(WebcastSocialMessage.newBuilder() + .setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() + .setNickname(userName) + .build()) + .build()); + } } 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 700e27a..d55a764 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 @@ -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.WebcastMemberMessage; import io.github.jwdeveloper.tiktok.messages.webcast.WebcastSocialMessage; import lombok.Getter; @@ -47,4 +48,13 @@ public class TikTokJoinEvent extends TikTokHeaderEvent { user = User.map(msg.getUser()); totalUsers = msg.getMemberCount(); } + + public static TikTokJoinEvent of(String userName) + { + return new TikTokJoinEvent(WebcastMemberMessage.newBuilder() + .setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() + .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 6c64270..ce93b44 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 @@ -57,4 +57,15 @@ public class TikTokLikeEvent extends TikTokHeaderEvent likes = msg.getCount(); totalLikes = msg.getTotal(); } + + public static TikTokLikeEvent of(String userName, int likes) + { + return new TikTokLikeEvent(WebcastLikeMessage.newBuilder() + .setCount(likes) + .setTotal(likes) + .setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder() + .setNickname(userName) + .build()) + .build()); + } } diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftSendType.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftComboStateType.java similarity index 83% rename from API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftSendType.java rename to API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftComboStateType.java index c14c82b..c084189 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftSendType.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftComboStateType.java @@ -22,17 +22,16 @@ */ package io.github.jwdeveloper.tiktok.data.models.gifts; -public enum GiftSendType -{ +//TODO it should be called GiftComboStateType +public enum GiftComboStateType { Finished, Begin, Active; - public static GiftSendType fromNumber(long number) - { + public static GiftComboStateType fromNumber(long number) { return switch ((int) number) { - case 1, 2, 4 -> GiftSendType.Active; - default -> GiftSendType.Finished; + case 1, 2, 4 -> GiftComboStateType.Active; + default -> GiftComboStateType.Finished; }; } } \ No newline at end of file diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/requests/LiveData.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/requests/LiveData.java index 9e72b94..c884f06 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/requests/LiveData.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/requests/LiveData.java @@ -35,6 +35,7 @@ public class LiveData { } @Data + @AllArgsConstructor public static class Response { private String json; private LiveStatus liveStatus; @@ -45,6 +46,11 @@ public class LiveData { private boolean ageRestricted; private User host; private LiveType liveType; + public Response() { + + } + + } public enum LiveStatus { diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/settings/LiveClientSettings.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/settings/LiveClientSettings.java index af8e992..3ac9b9d 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/settings/LiveClientSettings.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/settings/LiveClientSettings.java @@ -35,10 +35,20 @@ public class LiveClientSettings { /** + * TODO: give better description + *

+ * sets client in the offline mode, so it do not connects to TikTok servers + * it makes sense to use it when you are testing client with your custom events + */ + private boolean offline; + + /** + * TODO: give better description + *

* Determines if gifts data is downloaded before TikTokLive starts, * when `false` then client.giftManager() does not contain initial gifts */ - private boolean fetchGifts; + private boolean fetchGifts = true; /** * ISO-Language for Client @@ -76,14 +86,13 @@ public class LiveClientSettings { private HttpClientSettings httpSettings; /** - * Optional: Sometimes not every messages from chat are send to TikTokLiveJava to fix this issue you can set sessionId - * documentation how to obtain sessionId https://github.com/isaackogan/TikTok-Live-Connector#send-chat-messages + * Optional: Sometimes not every messages from chat are send to TikTokLiveJava to fix this issue you can set sessionId + * documentation how to obtain sessionId https://github.com/isaackogan/TikTok-Live-Connector#send-chat-messages */ private String sessionId; /** * Optional: By default roomID is fetched before connect to live, but you can set it manually - * */ private String roomId; @@ -92,8 +101,7 @@ public class LiveClientSettings { */ private String apiKey; - public static LiveClientSettings createDefault() - { + public static LiveClientSettings createDefault() { var httpSettings = new HttpClientSettings(); httpSettings.getParams().putAll(DefaultClientParams()); httpSettings.getHeaders().putAll(DefaultRequestHeaders()); @@ -166,4 +174,6 @@ public class LiveClientSettings { headers.put("Accept-Language", "en-US,en; q=0.9"); return headers; } + + } \ No newline at end of file diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClient.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClient.java index 9826653..0ec4dff 100644 --- a/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClient.java +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClient.java @@ -33,6 +33,7 @@ import io.github.jwdeveloper.tiktok.data.requests.LiveConnectionData; import io.github.jwdeveloper.tiktok.data.requests.LiveData; import io.github.jwdeveloper.tiktok.data.requests.LiveUserData; import io.github.jwdeveloper.tiktok.exceptions.*; +import io.github.jwdeveloper.tiktok.http.LiveHttpClient; import io.github.jwdeveloper.tiktok.listener.ListenersManager; import io.github.jwdeveloper.tiktok.listener.TikTokListenersManager; import io.github.jwdeveloper.tiktok.live.GiftsManager; @@ -48,7 +49,7 @@ import java.util.logging.Logger; public class TikTokLiveClient implements LiveClient { private final TikTokRoomInfo liveRoomInfo; - private final TikTokLiveHttpClient httpClient; + private final LiveHttpClient httpClient; private final SocketClient webSocketClient; private final TikTokLiveEventHandler tikTokEventHandler; private final LiveClientSettings clientSettings; @@ -58,7 +59,7 @@ public class TikTokLiveClient implements LiveClient { public TikTokLiveClient(GiftsManager giftsManager, TikTokRoomInfo tikTokLiveMeta, - TikTokLiveHttpClient tiktokHttpClient, + LiveHttpClient tiktokHttpClient, SocketClient webSocketClient, TikTokLiveEventHandler tikTokEventHandler, LiveClientSettings clientSettings, diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClientBuilder.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClientBuilder.java index 306febc..b4ffd82 100644 --- a/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClientBuilder.java +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClientBuilder.java @@ -45,6 +45,7 @@ import io.github.jwdeveloper.tiktok.mappers.data.MappingResult; import io.github.jwdeveloper.tiktok.mappers.handlers.*; import io.github.jwdeveloper.tiktok.messages.webcast.*; import io.github.jwdeveloper.tiktok.websocket.TikTokWebSocketClient; +import io.github.jwdeveloper.tiktok.websocket.TikTokWebSocketOfflineClient; import java.util.*; import java.util.concurrent.CompletableFuture; @@ -54,7 +55,7 @@ import java.util.logging.Logger; public class TikTokLiveClientBuilder implements LiveClientBuilder { protected final LiveClientSettings clientSettings; - protected final TikTokLiveEventHandler tikTokEventHandler; + protected final TikTokLiveEventHandler eventHandler; protected final List listeners; protected Consumer onCustomMappings; protected Logger logger; @@ -63,7 +64,7 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder { public TikTokLiveClientBuilder(String userName) { this.clientSettings = LiveClientSettings.createDefault(); this.clientSettings.setHostName(userName); - this.tikTokEventHandler = new TikTokLiveEventHandler(); + this.eventHandler = new TikTokLiveEventHandler(); this.listeners = new ArrayList<>(); this.onCustomMappings = (e) -> { }; @@ -109,27 +110,30 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder { var tiktokRoomInfo = new TikTokRoomInfo(); tiktokRoomInfo.setHostName(clientSettings.getHostName()); - var listenerManager = new TikTokListenersManager(listeners, tikTokEventHandler); + var listenerManager = new TikTokListenersManager(listeners, eventHandler); var httpClientFactory = new HttpClientFactory(clientSettings); - var tikTokLiveHttpClient = new TikTokLiveHttpClient(httpClientFactory, clientSettings); + var liveHttpClient = clientSettings.isOffline() ? + new TikTokLiveHttpOfflineClient() : + new TikTokLiveHttpClient(httpClientFactory, clientSettings); var eventsMapper = createMapper(giftsManager, tiktokRoomInfo); - var messageHandler = new TikTokLiveMessageHandler(tikTokEventHandler, eventsMapper); + var messageHandler = new TikTokLiveMessageHandler(eventHandler, eventsMapper); - - var webSocketClient = new TikTokWebSocketClient( - clientSettings, - messageHandler, - tikTokEventHandler); + var webSocketClient = clientSettings.isOffline() ? + new TikTokWebSocketOfflineClient(eventHandler) : + new TikTokWebSocketClient( + clientSettings, + messageHandler, + eventHandler); return new TikTokLiveClient( giftsManager, tiktokRoomInfo, - tikTokLiveHttpClient, + liveHttpClient, webSocketClient, - tikTokEventHandler, + eventHandler, clientSettings, listenerManager, logger); @@ -235,255 +239,255 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder { } public TikTokLiveClientBuilder onUnhandledSocial(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokUnhandledSocialEvent.class, event); + eventHandler.subscribe(TikTokUnhandledSocialEvent.class, event); return this; } public LiveClientBuilder onChest(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokChestEvent.class, event); + eventHandler.subscribe(TikTokChestEvent.class, event); return this; } public TikTokLiveClientBuilder onLinkMicFanTicket(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokLinkMicFanTicketEvent.class, event); + eventHandler.subscribe(TikTokLinkMicFanTicketEvent.class, event); return this; } public TikTokLiveClientBuilder onEnvelope(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokEnvelopeEvent.class, event); + eventHandler.subscribe(TikTokEnvelopeEvent.class, event); return this; } public TikTokLiveClientBuilder onShop(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokShopEvent.class, event); + eventHandler.subscribe(TikTokShopEvent.class, event); return this; } public TikTokLiveClientBuilder onDetect(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokDetectEvent.class, event); + eventHandler.subscribe(TikTokDetectEvent.class, event); return this; } public TikTokLiveClientBuilder onLinkLayer(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokLinkLayerEvent.class, event); + eventHandler.subscribe(TikTokLinkLayerEvent.class, event); return this; } public TikTokLiveClientBuilder onConnected(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokConnectedEvent.class, event); + eventHandler.subscribe(TikTokConnectedEvent.class, event); return this; } public TikTokLiveClientBuilder onPreConnection(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokPreConnectionEvent.class, event); + eventHandler.subscribe(TikTokPreConnectionEvent.class, event); return this; } public TikTokLiveClientBuilder onCaption(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokCaptionEvent.class, event); + eventHandler.subscribe(TikTokCaptionEvent.class, event); return this; } public TikTokLiveClientBuilder onQuestion(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokQuestionEvent.class, event); + eventHandler.subscribe(TikTokQuestionEvent.class, event); return this; } public TikTokLiveClientBuilder onRoomPin(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokRoomPinEvent.class, event); + eventHandler.subscribe(TikTokRoomPinEvent.class, event); return this; } @Override public LiveClientBuilder onEvent(Class eventClass, EventConsumer event) { - tikTokEventHandler.subscribe(eventClass, event); + eventHandler.subscribe(eventClass, event); return this; } @Override public TikTokLiveClientBuilder onRoomInfo(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokRoomInfoEvent.class, event); + eventHandler.subscribe(TikTokRoomInfoEvent.class, event); return this; } public TikTokLiveClientBuilder onLivePaused(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokLivePausedEvent.class, event); + eventHandler.subscribe(TikTokLivePausedEvent.class, event); return this; } @Override public TikTokLiveClientBuilder onLiveUnpaused(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokLiveUnpausedEvent.class, event); + eventHandler.subscribe(TikTokLiveUnpausedEvent.class, event); return this; } public TikTokLiveClientBuilder onLike(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokLikeEvent.class, event); + eventHandler.subscribe(TikTokLikeEvent.class, event); return this; } public TikTokLiveClientBuilder onLink(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokLinkEvent.class, event); + eventHandler.subscribe(TikTokLinkEvent.class, event); return this; } public TikTokLiveClientBuilder onBarrage(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokBarrageEvent.class, event); + eventHandler.subscribe(TikTokBarrageEvent.class, event); return this; } public TikTokLiveClientBuilder onGift(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokGiftEvent.class, event); + eventHandler.subscribe(TikTokGiftEvent.class, event); return this; } public TikTokLiveClientBuilder onGiftCombo(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokGiftComboEvent.class, event); + eventHandler.subscribe(TikTokGiftComboEvent.class, event); return this; } public TikTokLiveClientBuilder onLinkMicArmies(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokLinkMicArmiesEvent.class, event); + eventHandler.subscribe(TikTokLinkMicArmiesEvent.class, event); return this; } public TikTokLiveClientBuilder onEmote(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokEmoteEvent.class, event); + eventHandler.subscribe(TikTokEmoteEvent.class, event); return this; } public TikTokLiveClientBuilder onUnauthorizedMember(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokUnauthorizedMemberEvent.class, event); + eventHandler.subscribe(TikTokUnauthorizedMemberEvent.class, event); return this; } public TikTokLiveClientBuilder onInRoomBanner(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokInRoomBannerEvent.class, event); + eventHandler.subscribe(TikTokInRoomBannerEvent.class, event); return this; } public TikTokLiveClientBuilder onLinkMicMethod(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokLinkMicMethodEvent.class, event); + eventHandler.subscribe(TikTokLinkMicMethodEvent.class, event); return this; } public TikTokLiveClientBuilder onSubscribe(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokSubscribeEvent.class, event); + eventHandler.subscribe(TikTokSubscribeEvent.class, event); return this; } public TikTokLiveClientBuilder onPoll(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokPollEvent.class, event); + eventHandler.subscribe(TikTokPollEvent.class, event); return this; } public TikTokLiveClientBuilder onFollow(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokFollowEvent.class, event); + eventHandler.subscribe(TikTokFollowEvent.class, event); return this; } public TikTokLiveClientBuilder onComment(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokCommentEvent.class, event); + eventHandler.subscribe(TikTokCommentEvent.class, event); return this; } @Override public LiveClientBuilder onHttpResponse(EventConsumer action) { - tikTokEventHandler.subscribe(TikTokHttpResponseEvent.class, action); + eventHandler.subscribe(TikTokHttpResponseEvent.class, action); return this; } public TikTokLiveClientBuilder onGoalUpdate(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokGoalUpdateEvent.class, event); + eventHandler.subscribe(TikTokGoalUpdateEvent.class, event); return this; } public TikTokLiveClientBuilder onRankUpdate(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokRankUpdateEvent.class, event); + eventHandler.subscribe(TikTokRankUpdateEvent.class, event); return this; } public TikTokLiveClientBuilder onIMDelete(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokIMDeleteEvent.class, event); + eventHandler.subscribe(TikTokIMDeleteEvent.class, event); return this; } public TikTokLiveClientBuilder onLiveEnded(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokLiveEndedEvent.class, event); + eventHandler.subscribe(TikTokLiveEndedEvent.class, event); return this; } public TikTokLiveClientBuilder onError(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokErrorEvent.class, event); + eventHandler.subscribe(TikTokErrorEvent.class, event); return this; } public TikTokLiveClientBuilder onJoin(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokJoinEvent.class, event); + eventHandler.subscribe(TikTokJoinEvent.class, event); return this; } public TikTokLiveClientBuilder onRankText(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokRankTextEvent.class, event); + eventHandler.subscribe(TikTokRankTextEvent.class, event); return this; } public TikTokLiveClientBuilder onShare(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokShareEvent.class, event); + eventHandler.subscribe(TikTokShareEvent.class, event); return this; } public TikTokLiveClientBuilder onUnhandledMember(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokUnhandledMemberEvent.class, event); + eventHandler.subscribe(TikTokUnhandledMemberEvent.class, event); return this; } public TikTokLiveClientBuilder onSubNotify(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokSubNotifyEvent.class, event); + eventHandler.subscribe(TikTokSubNotifyEvent.class, event); return this; } public TikTokLiveClientBuilder onLinkMicBattle(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokLinkMicBattleEvent.class, event); + eventHandler.subscribe(TikTokLinkMicBattleEvent.class, event); return this; } public TikTokLiveClientBuilder onDisconnected(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokDisconnectedEvent.class, event); + eventHandler.subscribe(TikTokDisconnectedEvent.class, event); return this; } public TikTokLiveClientBuilder onUnhandledControl(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokUnhandledControlEvent.class, event); + eventHandler.subscribe(TikTokUnhandledControlEvent.class, event); return this; } public TikTokLiveClientBuilder onEvent(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokEvent.class, event); + eventHandler.subscribe(TikTokEvent.class, event); return this; } @Override public TikTokLiveClientBuilder onWebsocketResponse(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokWebsocketResponseEvent.class, event); + eventHandler.subscribe(TikTokWebsocketResponseEvent.class, event); return this; } @Override public TikTokLiveClientBuilder onWebsocketMessage(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokWebsocketMessageEvent.class, event); + eventHandler.subscribe(TikTokWebsocketMessageEvent.class, event); return this; } @Override public TikTokLiveClientBuilder onWebsocketUnhandledMessage(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokWebsocketUnhandledMessageEvent.class, event); + eventHandler.subscribe(TikTokWebsocketUnhandledMessageEvent.class, event); return this; } @Override public TikTokLiveClientBuilder onReconnecting(EventConsumer event) { - tikTokEventHandler.subscribe(TikTokReconnectingEvent.class, event); + eventHandler.subscribe(TikTokReconnectingEvent.class, event); return this; } } \ No newline at end of file diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveHttpOfflineClient.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveHttpOfflineClient.java new file mode 100644 index 0000000..c5fb961 --- /dev/null +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveHttpOfflineClient.java @@ -0,0 +1,45 @@ +package io.github.jwdeveloper.tiktok; + +import io.github.jwdeveloper.tiktok.data.models.Picture; +import io.github.jwdeveloper.tiktok.data.models.users.User; +import io.github.jwdeveloper.tiktok.data.requests.GiftsData; +import io.github.jwdeveloper.tiktok.data.requests.LiveConnectionData; +import io.github.jwdeveloper.tiktok.data.requests.LiveData; +import io.github.jwdeveloper.tiktok.data.requests.LiveUserData; +import io.github.jwdeveloper.tiktok.http.LiveHttpClient; +import io.github.jwdeveloper.tiktok.messages.webcast.WebcastResponse; + +import java.net.URI; +import java.util.List; + +public class TikTokLiveHttpOfflineClient implements LiveHttpClient { + @Override + public GiftsData.Response fetchGiftsData() { + return new GiftsData.Response("", List.of()); + } + + @Override + public LiveUserData.Response fetchLiveUserData(LiveUserData.Request request) { + return new LiveUserData.Response("", LiveUserData.UserStatus.Live, "offline_room_id", 0); + } + + @Override + public LiveData.Response fetchLiveData(LiveData.Request request) { + return new LiveData.Response("", + LiveData.LiveStatus.HostOnline, + "offline live", + 0, + 0, + 0, + false, + new User(0L, "offline user", new Picture("")), + LiveData.LiveType.SOLO); + } + + @Override + public LiveConnectionData.Response fetchLiveConnectionData(LiveConnectionData.Request request) { + return new LiveConnectionData.Response("", + URI.create("https://example.live"), + WebcastResponse.newBuilder().build()); + } +} diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/handlers/TikTokGiftEventHandler.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/handlers/TikTokGiftEventHandler.java index 899e13f..0547994 100644 --- a/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/handlers/TikTokGiftEventHandler.java +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/mappers/handlers/TikTokGiftEventHandler.java @@ -58,40 +58,40 @@ public class TikTokGiftEventHandler { public List handleGift(WebcastGiftMessage currentMessage) { var userId = currentMessage.getUser().getId(); - var currentType = GiftSendType.fromNumber(currentMessage.getSendType()); + var currentType = GiftComboStateType.fromNumber(currentMessage.getSendType()); var containsPreviousMessage = giftsMessages.containsKey(userId); //If gift is not streakable just return onGift event if (currentMessage.getGift().getType() != 1) { - var comboEvent = getGiftComboEvent(currentMessage, GiftSendType.Finished); + var comboEvent = getGiftComboEvent(currentMessage, GiftComboStateType.Finished); var giftEvent = getGiftEvent(currentMessage); return List.of(comboEvent, giftEvent); } if (!containsPreviousMessage) { - if (currentType == GiftSendType.Finished) { + if (currentType == GiftComboStateType.Finished) { return List.of(getGiftEvent(currentMessage)); } else { giftsMessages.put(userId, currentMessage); - return List.of(getGiftComboEvent(currentMessage, GiftSendType.Begin)); + return List.of(getGiftComboEvent(currentMessage, GiftComboStateType.Begin)); } } var previousMessage = giftsMessages.get(userId); - var previousType = GiftSendType.fromNumber(previousMessage.getSendType()); - if (currentType == GiftSendType.Active && - previousType == GiftSendType.Active) { + var previousType = GiftComboStateType.fromNumber(previousMessage.getSendType()); + if (currentType == GiftComboStateType.Active && + previousType == GiftComboStateType.Active) { giftsMessages.put(userId, currentMessage); - return List.of(getGiftComboEvent(currentMessage, GiftSendType.Active)); + return List.of(getGiftComboEvent(currentMessage, GiftComboStateType.Active)); } - if (currentType == GiftSendType.Finished && - previousType == GiftSendType.Active) { + if (currentType == GiftComboStateType.Finished && + previousType == GiftComboStateType.Active) { giftsMessages.clear(); return List.of( - getGiftComboEvent(currentMessage, GiftSendType.Finished), + getGiftComboEvent(currentMessage, GiftComboStateType.Finished), getGiftEvent(currentMessage)); } @@ -104,7 +104,7 @@ public class TikTokGiftEventHandler { return new TikTokGiftEvent(gift, tikTokRoomInfo.getHost(), message); } - private TikTokGiftEvent getGiftComboEvent(WebcastGiftMessage message, GiftSendType state) { + private TikTokGiftEvent getGiftComboEvent(WebcastGiftMessage message, GiftComboStateType state) { var gift = getGiftObject(message); return new TikTokGiftComboEvent(gift, tikTokRoomInfo.getHost(), message, state); } diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketOfflineClient.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketOfflineClient.java new file mode 100644 index 0000000..d30dddc --- /dev/null +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketOfflineClient.java @@ -0,0 +1,31 @@ +package io.github.jwdeveloper.tiktok.websocket; + +import io.github.jwdeveloper.tiktok.TikTokLiveEventHandler; +import io.github.jwdeveloper.tiktok.data.events.TikTokConnectedEvent; +import io.github.jwdeveloper.tiktok.data.events.TikTokDisconnectedEvent; +import io.github.jwdeveloper.tiktok.data.requests.LiveConnectionData; +import io.github.jwdeveloper.tiktok.live.LiveClient; + +public class TikTokWebSocketOfflineClient implements SocketClient { + + private final TikTokLiveEventHandler handler; + private LiveClient liveClient; + + public TikTokWebSocketOfflineClient(TikTokLiveEventHandler handler) { + this.handler = handler; + } + + @Override + public void start(LiveConnectionData.Response webcastResponse, LiveClient tikTokLiveClient) { + liveClient = tikTokLiveClient; + handler.publish(liveClient, new TikTokConnectedEvent()); + } + + @Override + public void stop() { + if (liveClient == null) { + return; + } + handler.publish(liveClient, new TikTokDisconnectedEvent()); + } +} diff --git a/Client/src/test/java/io/github/jwdeveloper/tiktok/handlers/events/TikTokGiftEventHandlerTest.java b/Client/src/test/java/io/github/jwdeveloper/tiktok/handlers/events/TikTokGiftEventHandlerTest.java index b77ca91..51d7c97 100644 --- a/Client/src/test/java/io/github/jwdeveloper/tiktok/handlers/events/TikTokGiftEventHandlerTest.java +++ b/Client/src/test/java/io/github/jwdeveloper/tiktok/handlers/events/TikTokGiftEventHandlerTest.java @@ -27,7 +27,7 @@ import io.github.jwdeveloper.tiktok.data.events.gift.TikTokGiftComboEvent; import io.github.jwdeveloper.tiktok.data.events.gift.TikTokGiftEvent; import io.github.jwdeveloper.tiktok.data.models.Picture; import io.github.jwdeveloper.tiktok.data.models.gifts.Gift; -import io.github.jwdeveloper.tiktok.data.models.gifts.GiftSendType; +import io.github.jwdeveloper.tiktok.data.models.gifts.GiftComboStateType; import io.github.jwdeveloper.tiktok.gifts.TikTokGiftsManager; import io.github.jwdeveloper.tiktok.mappers.handlers.TikTokGiftEventHandler; import io.github.jwdeveloper.tiktok.messages.data.GiftStruct; @@ -40,7 +40,6 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import java.util.List; -import java.util.logging.Logger; @TestInstance(TestInstance.Lifecycle.PER_CLASS) @@ -99,9 +98,9 @@ class TikTokGiftEventHandlerTest { Assertions.assertEquals(2, result3.size()); var event3 = (TikTokGiftComboEvent) result3.get(0); - Assertions.assertEquals(GiftSendType.Begin, event1.getComboState()); - Assertions.assertEquals(GiftSendType.Active, event2.getComboState()); - Assertions.assertEquals(GiftSendType.Finished, event3.getComboState()); + Assertions.assertEquals(GiftComboStateType.Begin, event1.getComboState()); + Assertions.assertEquals(GiftComboStateType.Active, event2.getComboState()); + Assertions.assertEquals(GiftComboStateType.Finished, event3.getComboState()); } diff --git a/Examples/src/main/java/io/github/jwdeveloper/tiktok/ChatMessageExample.java b/Examples/src/main/java/io/github/jwdeveloper/tiktok/ChatMessageExample.java deleted file mode 100644 index d7e69ac..0000000 --- a/Examples/src/main/java/io/github/jwdeveloper/tiktok/ChatMessageExample.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -package io.github.jwdeveloper.tiktok; - -import java.time.Duration; - -public class ChatMessageExample { - public static void main(String[] args) { - - - var roomData = TikTokLive.requests() - .fetchLiveData("X"); - - var gifts = TikTokLive.requests().fetchGiftsData(); - - - var user = TikTokLive.requests() - .fetchLiveUserData("mark"); - - TikTokLive.newClient(SimpleExample.TIKTOK_HOSTNAME) - .configure(clientSettings -> - { - clientSettings.setPrintToConsole(true); - clientSettings.getHttpSettings().setTimeout(Duration.ofSeconds(21)); - }) - .onComment((liveClient, event) -> - { - System.out.println("Chat message: " + event.getUser().getName() + " " + event.getText()); - }) - .onWebsocketUnhandledMessage((liveClient, event) -> - { - liveClient.getLogger().info(event.getMessage().getMethod()); - }).buildAndConnect(); - } -} diff --git a/Examples/src/main/java/io/github/jwdeveloper/tiktok/SimpleExample.java b/Examples/src/main/java/io/github/jwdeveloper/tiktok/ConnectionExample.java similarity index 96% rename from Examples/src/main/java/io/github/jwdeveloper/tiktok/SimpleExample.java rename to Examples/src/main/java/io/github/jwdeveloper/tiktok/ConnectionExample.java index ca45379..9e7ebe5 100644 --- a/Examples/src/main/java/io/github/jwdeveloper/tiktok/SimpleExample.java +++ b/Examples/src/main/java/io/github/jwdeveloper/tiktok/ConnectionExample.java @@ -31,7 +31,7 @@ import java.io.IOException; import java.time.Duration; import java.util.logging.Level; -public class SimpleExample { +public class ConnectionExample { public static String TIKTOK_HOSTNAME = "kvadromama_marina1"; public static void main(String[] args) throws IOException { @@ -40,10 +40,10 @@ public class SimpleExample { var gifts = TikTokLive.gifts(); - TikTokLive.newClient(SimpleExample.TIKTOK_HOSTNAME) + TikTokLive.newClient(ConnectionExample.TIKTOK_HOSTNAME) .configure(clientSettings -> { - clientSettings.setHostName(SimpleExample.TIKTOK_HOSTNAME); // This method is useful in case you want change hostname later + clientSettings.setHostName(ConnectionExample.TIKTOK_HOSTNAME); // This method is useful in case you want change hostname later clientSettings.setClientLanguage("en"); // Language clientSettings.setLogLevel(Level.ALL); // Log level clientSettings.setPrintToConsole(true); // Printing all logs to console even if log level is Level.OFF diff --git a/Examples/src/main/java/io/github/jwdeveloper/tiktok/CustomEventExample.java b/Examples/src/main/java/io/github/jwdeveloper/tiktok/CustomEventExample.java index ec38858..3e6ece2 100644 --- a/Examples/src/main/java/io/github/jwdeveloper/tiktok/CustomEventExample.java +++ b/Examples/src/main/java/io/github/jwdeveloper/tiktok/CustomEventExample.java @@ -39,7 +39,7 @@ public class CustomEventExample { public static void main(String[] args) { - TikTokLive.newClient(SimpleExample.TIKTOK_HOSTNAME) + TikTokLive.newClient(ConnectionExample.TIKTOK_HOSTNAME) .configure(clientSettings -> { clientSettings.setPrintToConsole(true); diff --git a/Examples/src/main/java/io/github/jwdeveloper/tiktok/Events_And_Gifts_Testing_Example.java b/Examples/src/main/java/io/github/jwdeveloper/tiktok/Events_And_Gifts_Testing_Example.java new file mode 100644 index 0000000..5771026 --- /dev/null +++ b/Examples/src/main/java/io/github/jwdeveloper/tiktok/Events_And_Gifts_Testing_Example.java @@ -0,0 +1,67 @@ +package io.github.jwdeveloper.tiktok; + +import io.github.jwdeveloper.tiktok.data.events.TikTokCommentEvent; +import io.github.jwdeveloper.tiktok.data.events.TikTokSubNotifyEvent; +import io.github.jwdeveloper.tiktok.data.events.TikTokSubscribeEvent; +import io.github.jwdeveloper.tiktok.data.events.gift.TikTokGiftComboEvent; +import io.github.jwdeveloper.tiktok.data.events.gift.TikTokGiftEvent; +import io.github.jwdeveloper.tiktok.data.events.social.TikTokFollowEvent; +import io.github.jwdeveloper.tiktok.data.events.social.TikTokJoinEvent; +import io.github.jwdeveloper.tiktok.data.events.social.TikTokLikeEvent; +import io.github.jwdeveloper.tiktok.data.models.gifts.GiftComboStateType; +import io.github.jwdeveloper.tiktok.live.LiveClient; + +public class Events_And_Gifts_Testing_Example { + public static void main(String[] args) { + LiveClient client = TikTokLive.newClient(ConnectionExample.TIKTOK_HOSTNAME) + .configure(liveClientSettings -> + { + liveClientSettings.setOffline(true); + liveClientSettings.setPrintToConsole(true); + }) + .onConnected((liveClient, event) -> + { + liveClient.getLogger().info("Connected"); + }) + .onDisconnected((liveClient, event) -> + { + liveClient.getLogger().info("Disconnected"); + }) + .onGiftCombo((liveClient, event) -> + { + liveClient.getLogger().info("New fake combo Gift: " + event.getGift()); + }) + .onGift((liveClient, event) -> + { + liveClient.getLogger().info("New fake Gift: " + event.getGift()); + }) + .build(); + + var gifts = TikTokLive.gifts(); + var roseGift = gifts.getByName("Rose"); + + var fakeGift = TikTokGiftEvent.of(roseGift); + var fakeComboGift = TikTokGiftComboEvent.of(roseGift, 12, GiftComboStateType.Begin); + + var fakeMessage = TikTokCommentEvent.of("Mark", "Hello world"); + + var fakeSubscriber = TikTokSubscribeEvent.of("Mark"); + var fakeFollow = TikTokFollowEvent.of("Mark"); + var fakeLike = TikTokLikeEvent.of("Mark", 12); + var fakeJoin = TikTokJoinEvent.of("Mark"); + + client.connect(); + + client.publishEvent(fakeGift); + client.publishEvent(fakeComboGift); + client.publishEvent(fakeMessage); + client.publishEvent(fakeSubscriber); + client.publishEvent(fakeFollow); + client.publishEvent(fakeLike); + client.publishEvent(fakeJoin); + + client.disconnect(); + } + + +} diff --git a/Examples/src/main/java/io/github/jwdeveloper/tiktok/ListenerExample.java b/Examples/src/main/java/io/github/jwdeveloper/tiktok/ListenerExample.java index b74638a..d12111e 100644 --- a/Examples/src/main/java/io/github/jwdeveloper/tiktok/ListenerExample.java +++ b/Examples/src/main/java/io/github/jwdeveloper/tiktok/ListenerExample.java @@ -48,7 +48,7 @@ public class ListenerExample showLogo(); CustomListener customListener = new CustomListener(); - TikTokLive.newClient(SimpleExample.TIKTOK_HOSTNAME) + TikTokLive.newClient(ConnectionExample.TIKTOK_HOSTNAME) .addListener(customListener) .buildAndConnect(); System.in.read(); diff --git a/Examples/src/main/java/io/github/jwdeveloper/tiktok/ProxyExample.java b/Examples/src/main/java/io/github/jwdeveloper/tiktok/ProxyExample.java index c911354..9db5c94 100644 --- a/Examples/src/main/java/io/github/jwdeveloper/tiktok/ProxyExample.java +++ b/Examples/src/main/java/io/github/jwdeveloper/tiktok/ProxyExample.java @@ -26,7 +26,7 @@ import java.net.Proxy; public class ProxyExample { public static void main(String[] args) throws Exception { - TikTokLive.newClient(SimpleExample.TIKTOK_HOSTNAME) + TikTokLive.newClient(ConnectionExample.TIKTOK_HOSTNAME) .configure(clientSettings -> { clientSettings.setPrintToConsole(true); clientSettings.getHttpSettings().configureProxy(proxySettings -> { diff --git a/Examples/src/main/java/io/github/jwdeveloper/tiktok/testerExample.java b/Examples/src/main/java/io/github/jwdeveloper/tiktok/testerExample.java deleted file mode 100644 index 5da54c3..0000000 --- a/Examples/src/main/java/io/github/jwdeveloper/tiktok/testerExample.java +++ /dev/null @@ -1,4 +0,0 @@ -package io.github.jwdeveloper.tiktok; - -public class testerExample { -} diff --git a/Tools-EventsCollector/src/main/java/io/github/jwdeveloper/tiktok/tools/tester/mockClient/TikTokMockBuilder.java b/Tools-EventsCollector/src/main/java/io/github/jwdeveloper/tiktok/tools/tester/mockClient/TikTokMockBuilder.java index ba214eb..cf48b63 100644 --- a/Tools-EventsCollector/src/main/java/io/github/jwdeveloper/tiktok/tools/tester/mockClient/TikTokMockBuilder.java +++ b/Tools-EventsCollector/src/main/java/io/github/jwdeveloper/tiktok/tools/tester/mockClient/TikTokMockBuilder.java @@ -86,15 +86,15 @@ public class TikTokMockBuilder extends TikTokLiveClientBuilder { var tiktokRoomInfo = new TikTokRoomInfo(); tiktokRoomInfo.setHostName(clientSettings.getHostName()); - var listenerManager = new TikTokListenersManager(listeners, tikTokEventHandler); + var listenerManager = new TikTokListenersManager(listeners, eventHandler); var mapper = createMapper(new TikTokGiftsManager(List.of()), tiktokRoomInfo); - var handler = new TikTokLiveMessageHandler(tikTokEventHandler, mapper); + var handler = new TikTokLiveMessageHandler(eventHandler, mapper); var webSocketClient = new WebsocketClientMock(logger, responses, handler); return new LiveClientMock(tiktokRoomInfo, new TikTokLiveHttpClient(), webSocketClient, - tikTokEventHandler, + eventHandler, clientSettings, listenerManager, logger); diff --git a/extension-collector/src/main/java/io/github/jwdeveloper/tiktok/extension/collector/impl/TikTokLiveDataCollector.java b/extension-collector/src/main/java/io/github/jwdeveloper/tiktok/extension/collector/impl/TikTokLiveDataCollector.java index d9899b7..f369ff6 100644 --- a/extension-collector/src/main/java/io/github/jwdeveloper/tiktok/extension/collector/impl/TikTokLiveDataCollector.java +++ b/extension-collector/src/main/java/io/github/jwdeveloper/tiktok/extension/collector/impl/TikTokLiveDataCollector.java @@ -50,7 +50,6 @@ public class TikTokLiveDataCollector { this.settings = settings; } - public void connectDatabase() { var serverApi = ServerApi.builder() .version(ServerApiVersion.V1) diff --git a/extension-tester/pom.xml b/extension-tester/pom.xml deleted file mode 100644 index 7235026..0000000 --- a/extension-tester/pom.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - 4.0.0 - - io.github.jwdeveloper.tiktok - TikTokLiveJava - 1.3.0-Release - - - io.github.jwdeveloper.worker - extension-tester - - - 16 - 16 - UTF-8 - - - - io.github.jwdeveloper.tiktok - Client - 1.3.0-Release - compile - - - - \ No newline at end of file diff --git a/extension-tester/src/main/java/io/github/jwdeveloper/tiktok/extension/tester/TikTokLiveTester.java b/extension-tester/src/main/java/io/github/jwdeveloper/tiktok/extension/tester/TikTokLiveTester.java deleted file mode 100644 index 5a26ae2..0000000 --- a/extension-tester/src/main/java/io/github/jwdeveloper/tiktok/extension/tester/TikTokLiveTester.java +++ /dev/null @@ -1,9 +0,0 @@ -package io.github.jwdeveloper.tiktok.extension.tester; - -import io.github.jwdeveloper.tiktok.live.LiveClient; - -public class TikTokLiveTester { - public static LiveClient createFakeClient() { - throw new RuntimeException("Not implemented"); - } -} diff --git a/pom.xml b/pom.xml index 447a9b1..00bf394 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,6 @@ extension-recorder extension-collector - extension-tester