This commit is contained in:
minster586
2025-08-06 01:48:28 -04:00
parent 9f33be760e
commit 5cc7e0cb2c
2 changed files with 13 additions and 5 deletions

View File

@@ -1,6 +1,5 @@
package com.minster586.tiktokstream.websocket; package com.minster586.tiktokstream.websocket;
import org.java_websocket.client.WebSocketClient; import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake; import org.java_websocket.handshake.ServerHandshake;
import java.net.URI; import java.net.URI;
@@ -9,7 +8,12 @@ import org.bukkit.entity.Player;
import com.minster586.tiktokstream.TikTokStreamPlugin; import com.minster586.tiktokstream.TikTokStreamPlugin;
import com.minster586.tiktokstream.config.ConfigManager; import com.minster586.tiktokstream.config.ConfigManager;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class StreamerBotWebSocketClient extends WebSocketClient { public class StreamerBotWebSocketClient extends WebSocketClient {
private final Gson gson = new Gson();
private int retryCount = 0; private int retryCount = 0;
private final ConfigManager configManager; private final ConfigManager configManager;
private final int maxRetries; private final int maxRetries;
@@ -20,8 +24,12 @@ public class StreamerBotWebSocketClient extends WebSocketClient {
super(serverUri); super(serverUri);
this.configManager = TikTokStreamPlugin.getInstance().getConfigManager(); this.configManager = TikTokStreamPlugin.getInstance().getConfigManager();
this.maxRetries = configManager != null ? configManager.getIntOrDefault("config.websocket.retry-count", 3) : 3; this.maxRetries = configManager != null ? configManager.getIntOrDefault("config.websocket.retry-count", 3) : 3;
this.notifyPermission = configManager != null ? configManager.getStringOrDefault("config.websocket.notify-permission", "tiktok.live") : "tiktok.live"; this.notifyPermission = configManager != null
this.notifyMessage = configManager != null ? configManager.getStringOrDefault("config.websocket.notify-message", "§c[StreamerBot] Could not connect after %retries% attempts. Check your config or Streamer.bot status.") : "§c[StreamerBot] Could not connect after %retries% attempts. Check your config or Streamer.bot status."; ? configManager.getStringOrDefault("config.websocket.notify-permission", "tiktok.live")
: "tiktok.live";
this.notifyMessage = configManager != null ? configManager.getStringOrDefault("config.websocket.notify-message",
"§c[StreamerBot] Could not connect after %retries% attempts. Check your config or Streamer.bot status.")
: "§c[StreamerBot] Could not connect after %retries% attempts. Check your config or Streamer.bot status.";
} }
@Override @Override
@@ -40,7 +48,8 @@ public class StreamerBotWebSocketClient extends WebSocketClient {
retryCount++; retryCount++;
try { try {
Thread.sleep(2000L * retryCount); // Exponential backoff Thread.sleep(2000L * retryCount); // Exponential backoff
} catch (InterruptedException ignored) {} } catch (InterruptedException ignored) {
}
this.reconnect(); this.reconnect();
} else { } else {
String msg = notifyMessage.replace("%retries%", String.valueOf(maxRetries)); String msg = notifyMessage.replace("%retries%", String.valueOf(maxRetries));

View File

@@ -1,7 +1,6 @@
config: config:
prefix: [TikTok] prefix: [TikTok]
tiktok_username: Change-me #this is the username of your tiktok account with out the "@" symbol tiktok_username: Change-me #this is the username of your tiktok account with out the "@" symbol
giftMappingUrl: "https://yourdomain.com/gift-mapping.yaml" #you can change if need but might want to make sure it follows same scheam
websocket: websocket:
url: "ws://localhost:8080" # change IP if need url: "ws://localhost:8080" # change IP if need