upload google
I get rate limited on
This commit is contained in:
19
pom.xml
19
pom.xml
@@ -9,6 +9,14 @@
|
||||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>jitpack.io</id>
|
||||
<url>https://jitpack.io</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
<!-- WebSocket server (Java-WebSocket) -->
|
||||
<dependency>
|
||||
@@ -28,13 +36,12 @@
|
||||
<artifactId>slf4j-simple</artifactId>
|
||||
<version>2.0.12</version>
|
||||
</dependency>
|
||||
<!-- TikTokLiveJava: User must provide/download the JAR and place in lib/ -->
|
||||
<!-- TikTokLiveJava from JitPack -->
|
||||
<dependency>
|
||||
<groupId>com.github.jwdeveloper</groupId>
|
||||
<artifactId>TikTokLiveJava</artifactId>
|
||||
<version>1.11.9</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/lib/Client-1.11.9-Release-all.jar</systemPath>
|
||||
<groupId>com.github.jwdeveloper.TikTok-Live-Java</groupId>
|
||||
<artifactId>Client</artifactId>
|
||||
<version>1.11.0-Release</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
|
||||
@@ -2,14 +2,23 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Scanner;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.TikTokLiveClient;
|
||||
import io.github.jwdeveloper.tiktok.TikTokLiveClientBuilder;
|
||||
import io.github.jwdeveloper.tiktok.TikTokLiveEventHandler;
|
||||
import io.github.jwdeveloper.tiktok.models.ConnectionState;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
// Lambda to extract user info from event objects
|
||||
Function<Object, String> getUserInfo = event -> {
|
||||
try {
|
||||
Object user = event.getClass().getMethod("getUser").invoke(event);
|
||||
return (String) user.getClass().getMethod("getUniqueId").invoke(user);
|
||||
} catch (Exception e) {
|
||||
return "UnknownUser";
|
||||
}
|
||||
};
|
||||
// Check for config.yml
|
||||
File configFile = new File("config.yml");
|
||||
if (!configFile.exists()) {
|
||||
@@ -72,89 +81,16 @@ public class Main {
|
||||
if (username.startsWith("@")) {
|
||||
username = username.substring(1);
|
||||
}
|
||||
try {
|
||||
TikTokLiveClient client = new TikTokLiveClientBuilder()
|
||||
.setUniqueId(username)
|
||||
try { // Add this try block
|
||||
TikTokLiveClient client = new TikTokLiveClientBuilder(username)
|
||||
.build();
|
||||
|
||||
|
||||
// Helper to extract user info based on config user_style
|
||||
java.util.function.Function<Object, String> getUserInfo = (event) -> {
|
||||
try {
|
||||
Object user = event.getClass().getMethod("getUser").invoke(event);
|
||||
String userStyle = "username";
|
||||
try {
|
||||
Object eventsCfg = config.get("events");
|
||||
if (eventsCfg instanceof java.util.Map) {
|
||||
java.util.Map<?,?> eventsMap = (java.util.Map<?,?>) eventsCfg;
|
||||
Object followCfg = eventsMap.get("follow");
|
||||
if (followCfg instanceof java.util.Map) {
|
||||
Object style = ((java.util.Map<?,?>) followCfg).get("ws_enable");
|
||||
if (style instanceof java.util.Map) {
|
||||
Object us = ((java.util.Map<?,?>) style).get("user_style");
|
||||
if (us instanceof String) userStyle = (String) us;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception ignore) {}
|
||||
if (userStyle.equalsIgnoreCase("display_name")) {
|
||||
return (String) user.getClass().getMethod("getDisplayName").invoke(user);
|
||||
} else {
|
||||
return (String) user.getClass().getMethod("getUsername").invoke(user);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return "[unknown user]";
|
||||
}
|
||||
};
|
||||
|
||||
client.addEventHandler(new TikTokLiveEventHandler() {
|
||||
@Override
|
||||
public void onFollow(Object event) {
|
||||
tiktokListener.onFollow(getUserInfo.apply(event));
|
||||
}
|
||||
@Override
|
||||
public void onLike(Object event) {
|
||||
try {
|
||||
int count = (int) event.getClass().getMethod("getLikeCount").invoke(event);
|
||||
tiktokListener.onLike(getUserInfo.apply(event), count);
|
||||
} catch (Exception e) {
|
||||
tiktokListener.onLike(getUserInfo.apply(event), 1);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onShare(Object event) {
|
||||
tiktokListener.onShare(getUserInfo.apply(event));
|
||||
}
|
||||
@Override
|
||||
public void onGift(Object event) {
|
||||
try {
|
||||
Object user = event.getClass().getMethod("getUser").invoke(event);
|
||||
Object gift = event.getClass().getMethod("getGift").invoke(event);
|
||||
String userInfo = getUserInfo.apply(event);
|
||||
String giftName = (String) gift.getClass().getMethod("getName").invoke(gift);
|
||||
int amount = (int) event.getClass().getMethod("getGiftCount").invoke(event);
|
||||
tiktokListener.onGift(userInfo, giftName, amount);
|
||||
} catch (Exception e) {
|
||||
tiktokListener.onGift(getUserInfo.apply(event), "Gift", 1);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onComment(Object event) {
|
||||
try {
|
||||
String msg = (String) event.getClass().getMethod("getComment").invoke(event);
|
||||
tiktokListener.onChat(getUserInfo.apply(event), msg);
|
||||
} catch (Exception e) {
|
||||
tiktokListener.onChat(getUserInfo.apply(event), "");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
client.connect();
|
||||
|
||||
// Optionally, wait for connection state
|
||||
while (client.getConnectionState() != ConnectionState.CONNECTED) {
|
||||
Thread.sleep(500);
|
||||
}
|
||||
// while (client.getConnectionState() != ConnectionState.CONNECTED) {
|
||||
// Thread.sleep(500);
|
||||
// }
|
||||
System.out.println("Connected to TikTok live for user: @" + username);
|
||||
} catch (Exception e) {
|
||||
System.err.println("Failed to connect to TikTok Live: " + e.getMessage());
|
||||
|
||||
Reference in New Issue
Block a user