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.source>17</maven.compiler.source>
|
||||||
<maven.compiler.target>17</maven.compiler.target>
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>jitpack.io</id>
|
||||||
|
<url>https://jitpack.io</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<!-- WebSocket server (Java-WebSocket) -->
|
<!-- WebSocket server (Java-WebSocket) -->
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -28,13 +36,12 @@
|
|||||||
<artifactId>slf4j-simple</artifactId>
|
<artifactId>slf4j-simple</artifactId>
|
||||||
<version>2.0.12</version>
|
<version>2.0.12</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- TikTokLiveJava: User must provide/download the JAR and place in lib/ -->
|
<!-- TikTokLiveJava from JitPack -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.jwdeveloper</groupId>
|
<groupId>com.github.jwdeveloper.TikTok-Live-Java</groupId>
|
||||||
<artifactId>TikTokLiveJava</artifactId>
|
<artifactId>Client</artifactId>
|
||||||
<version>1.11.9</version>
|
<version>1.11.0-Release</version>
|
||||||
<scope>system</scope>
|
<scope>compile</scope>
|
||||||
<systemPath>${project.basedir}/lib/Client-1.11.9-Release-all.jar</systemPath>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -2,14 +2,23 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
import io.github.jwdeveloper.tiktok.TikTokLiveClient;
|
import io.github.jwdeveloper.tiktok.TikTokLiveClient;
|
||||||
import io.github.jwdeveloper.tiktok.TikTokLiveClientBuilder;
|
import io.github.jwdeveloper.tiktok.TikTokLiveClientBuilder;
|
||||||
import io.github.jwdeveloper.tiktok.TikTokLiveEventHandler;
|
import io.github.jwdeveloper.tiktok.TikTokLiveEventHandler;
|
||||||
import io.github.jwdeveloper.tiktok.models.ConnectionState;
|
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
public static void main(String[] args) {
|
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
|
// Check for config.yml
|
||||||
File configFile = new File("config.yml");
|
File configFile = new File("config.yml");
|
||||||
if (!configFile.exists()) {
|
if (!configFile.exists()) {
|
||||||
@@ -72,89 +81,16 @@ public class Main {
|
|||||||
if (username.startsWith("@")) {
|
if (username.startsWith("@")) {
|
||||||
username = username.substring(1);
|
username = username.substring(1);
|
||||||
}
|
}
|
||||||
try {
|
try { // Add this try block
|
||||||
TikTokLiveClient client = new TikTokLiveClientBuilder()
|
TikTokLiveClient client = new TikTokLiveClientBuilder(username)
|
||||||
.setUniqueId(username)
|
|
||||||
.build();
|
.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();
|
client.connect();
|
||||||
|
|
||||||
// Optionally, wait for connection state
|
// Optionally, wait for connection state
|
||||||
while (client.getConnectionState() != ConnectionState.CONNECTED) {
|
// while (client.getConnectionState() != ConnectionState.CONNECTED) {
|
||||||
Thread.sleep(500);
|
// Thread.sleep(500);
|
||||||
}
|
// }
|
||||||
System.out.println("Connected to TikTok live for user: @" + username);
|
System.out.println("Connected to TikTok live for user: @" + username);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.err.println("Failed to connect to TikTok Live: " + e.getMessage());
|
System.err.println("Failed to connect to TikTok Live: " + e.getMessage());
|
||||||
|
|||||||
Reference in New Issue
Block a user