diff --git a/pom.xml b/pom.xml index 8b96f61..22e6506 100644 --- a/pom.xml +++ b/pom.xml @@ -18,6 +18,13 @@ + + org.projectlombok + lombok + 1.18.32 + provided + + org.java-websocket diff --git a/src/main/java/Main.java b/src/main/java/Main.java index d6beb4e..d3abd4c 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -82,11 +82,18 @@ public class Main { username = username.substring(1); } try { // Add this try block - TikTokLiveClient client = new TikTokLiveClientBuilder(username) + LiveClient client = new TikTokLiveClientBuilder(username) .build(); client.connect(); + // Register event handlers + client.on(io.github.jwdeveloper.tiktok.data.events.TikTokFollowEvent.class, tiktokListener::handleFollowEvent); + client.on(io.github.jwdeveloper.tiktok.data.events.TikTokLikeEvent.class, tiktokListener::handleLikeEvent); + client.on(io.github.jwdeveloper.tiktok.data.events.TikTokShareEvent.class, tiktokListener::handleShareEvent); + client.on(io.github.jwdeveloper.tiktok.data.events.TikTokGiftEvent.class, tiktokListener::handleGiftEvent); + client.on(io.github.jwdeveloper.tiktok.data.events.TikTokChatMessageEvent.class, tiktokListener::handleChatEvent); + // Optionally, wait for connection state // while (client.getConnectionState() != ConnectionState.CONNECTED) { // Thread.sleep(500); diff --git a/src/main/java/TikTokEventListener.java b/src/main/java/TikTokEventListener.java index 8bf87a4..a87e68a 100644 --- a/src/main/java/TikTokEventListener.java +++ b/src/main/java/TikTokEventListener.java @@ -2,7 +2,16 @@ // The actual implementation will require the TikTok-Live-Connector JAR in the lib folder. // At test time, you will be provided with the download link and instructions. +import io.github.jwdeveloper.tiktok.live.LiveClient; +import io.github.jwdeveloper.tiktok.data.events.common.TikTokEvent; +import io.github.jwdeveloper.tiktok.data.events.TikTokLikeEvent; +import io.github.jwdeveloper.tiktok.data.events.TikTokGiftEvent; +import io.github.jwdeveloper.tiktok.data.events.TikTokFollowEvent; +import io.github.jwdeveloper.tiktok.data.events.TikTokShareEvent; +import io.github.jwdeveloper.tiktok.data.events.TikTokChatMessageEvent; + import java.util.Map; +import java.util.HashMap; @SuppressWarnings("unchecked") public class TikTokEventListener { @@ -53,41 +62,41 @@ public class TikTokEventListener { } } - public void onFollow(String userInfo) { - Map vars = new java.util.HashMap<>(); - vars.put("userinfo", userInfo); + public void handleFollowEvent(LiveClient liveClient, TikTokFollowEvent event) { + Map vars = new HashMap<>(); + vars.put("userinfo", event.getUser().getUniqueId()); String filePath = getOutputPath("follow"); output("follow", vars, filePath); } - public void onLike(String userInfo, int amount) { - Map vars = new java.util.HashMap<>(); - vars.put("userinfo", userInfo); - vars.put("amount", String.valueOf(amount)); + public void handleLikeEvent(LiveClient liveClient, TikTokLikeEvent event) { + Map vars = new HashMap<>(); + vars.put("userinfo", event.getUser().getUniqueId()); + vars.put("amount", String.valueOf(event.getLikes())); // Assuming getLikes() for TikTokLikeEvent String filePath = getOutputPath("likes"); output("likes", vars, filePath); } - public void onShare(String userInfo) { - Map vars = new java.util.HashMap<>(); - vars.put("userinfo", userInfo); + public void handleShareEvent(LiveClient liveClient, TikTokShareEvent event) { + Map vars = new HashMap<>(); + vars.put("userinfo", event.getUser().getUniqueId()); String filePath = getOutputPath("shares"); output("shares", vars, filePath); } - public void onGift(String userInfo, String giftName, int amount) { - Map vars = new java.util.HashMap<>(); - vars.put("userinfo", userInfo); - vars.put("gift_name", giftName); - vars.put("amount", String.valueOf(amount)); + public void handleGiftEvent(LiveClient liveClient, TikTokGiftEvent event) { + Map vars = new HashMap<>(); + vars.put("userinfo", event.getUser().getUniqueId()); + vars.put("gift_name", event.getGift().getName()); // Assuming getGift().getName() for gift name + vars.put("amount", String.valueOf(event.getGift().getCount())); // Assuming getGift().getCount() for amount String filePath = getOutputPath("gifts"); output("gifts", vars, filePath); } - public void onChat(String userInfo, String message) { - Map vars = new java.util.HashMap<>(); - vars.put("userinfo", userInfo); - vars.put("msg", message); + public void handleChatEvent(LiveClient liveClient, TikTokChatMessageEvent event) { + Map vars = new HashMap<>(); + vars.put("userinfo", event.getUser().getUniqueId()); + vars.put("msg", event.getMessage()); String filePath = getOutputPath("chat"); output("chat", vars, filePath); } diff --git a/target/classes/ConfigLoader.class b/target/classes/ConfigLoader.class index 8f28212..20829b3 100644 Binary files a/target/classes/ConfigLoader.class and b/target/classes/ConfigLoader.class differ diff --git a/target/classes/EventLogger.class b/target/classes/EventLogger.class index c6b2836..4515527 100644 Binary files a/target/classes/EventLogger.class and b/target/classes/EventLogger.class differ diff --git a/target/classes/EventType.class b/target/classes/EventType.class index 14247ce..cfaadf0 100644 Binary files a/target/classes/EventType.class and b/target/classes/EventType.class differ diff --git a/target/classes/FormatLoader.class b/target/classes/FormatLoader.class index 5f9bf96..552459c 100644 Binary files a/target/classes/FormatLoader.class and b/target/classes/FormatLoader.class differ diff --git a/target/classes/TikTokEventListener.class b/target/classes/TikTokEventListener.class index 30ddc05..d5251c7 100644 Binary files a/target/classes/TikTokEventListener.class and b/target/classes/TikTokEventListener.class differ diff --git a/target/classes/WebSocketServerApp.class b/target/classes/WebSocketServerApp.class index ebc3202..819ce09 100644 Binary files a/target/classes/WebSocketServerApp.class and b/target/classes/WebSocketServerApp.class differ