mirror of
https://github.com/jwdeveloper/TikTokLiveJava.git
synced 2026-02-27 08:49:40 -05:00
Test application
This commit is contained in:
19
API/pom.xml
19
API/pom.xml
@@ -11,25 +11,6 @@
|
|||||||
|
|
||||||
<artifactId>API</artifactId>
|
<artifactId>API</artifactId>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
|
||||||
<groupId>org.projectlombok</groupId>
|
|
||||||
<artifactId>lombok</artifactId>
|
|
||||||
<version>1.18.22</version>
|
|
||||||
<scope>compile</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>junit</groupId>
|
|
||||||
<artifactId>junit</artifactId>
|
|
||||||
<version>4.13.1</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.testng</groupId>
|
|
||||||
<artifactId>testng</artifactId>
|
|
||||||
<version>RELEASE</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.protobuf</groupId>
|
<groupId>com.google.protobuf</groupId>
|
||||||
<artifactId>protobuf-java</artifactId>
|
<artifactId>protobuf-java</artifactId>
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ package io.github.jwdeveloper.tiktok.live;
|
|||||||
|
|
||||||
public interface LiveClient {
|
public interface LiveClient {
|
||||||
|
|
||||||
void run();
|
void connect();
|
||||||
|
|
||||||
void stop();
|
void disconnect();
|
||||||
|
|
||||||
LiveMeta getMeta();
|
LiveRoomInfo getRoomInfo();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
package io.github.jwdeveloper.tiktok.live;
|
|
||||||
|
|
||||||
public interface LiveMeta
|
|
||||||
{
|
|
||||||
int getViewersCount();
|
|
||||||
|
|
||||||
String getRoomId();
|
|
||||||
String getUserName();
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package io.github.jwdeveloper.tiktok.live;
|
package io.github.jwdeveloper.tiktok.live;
|
||||||
|
|
||||||
import lombok.Data;
|
public interface LiveRoomInfo
|
||||||
|
|
||||||
@Data
|
|
||||||
public class LiveRoomInfo
|
|
||||||
{
|
{
|
||||||
private int status;
|
int getViewersCount();
|
||||||
|
|
||||||
|
String getRoomId();
|
||||||
|
String getUserName();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package io.github.jwdeveloper.tiktok.live;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class LiveRoomMeta
|
||||||
|
{
|
||||||
|
private int status;
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@ package io.github.jwdeveloper.tiktok.live;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class TikTokLiveMeta implements LiveMeta
|
public class TikTokRoomInfo implements LiveRoomInfo
|
||||||
{
|
{
|
||||||
private int viewersCount;
|
private int viewersCount;
|
||||||
|
|
||||||
@@ -19,24 +19,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
|
||||||
<groupId>org.java-websocket</groupId>
|
|
||||||
<artifactId>Java-WebSocket</artifactId>
|
|
||||||
<version>1.5.4</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.slf4j</groupId>
|
|
||||||
<artifactId>slf4j-api</artifactId>
|
|
||||||
<version>1.7.0</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.projectlombok</groupId>
|
|
||||||
<artifactId>lombok</artifactId>
|
|
||||||
<version>1.18.22</version>
|
|
||||||
<scope>compile</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.code.gson</groupId>
|
<groupId>com.google.code.gson</groupId>
|
||||||
@@ -44,25 +27,6 @@
|
|||||||
<version>2.10.1</version>
|
<version>2.10.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.mockito</groupId>
|
|
||||||
<artifactId>mockito-core</artifactId>
|
|
||||||
<version>3.12.4</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>junit</groupId>
|
|
||||||
<artifactId>junit</artifactId>
|
|
||||||
<version>4.13.1</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.junit.jupiter</groupId>
|
|
||||||
<artifactId>junit-jupiter</artifactId>
|
|
||||||
<version>RELEASE</version>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.github.jwdeveloper.tiktok</groupId>
|
<groupId>io.github.jwdeveloper.tiktok</groupId>
|
||||||
<artifactId>API</artifactId>
|
<artifactId>API</artifactId>
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ import io.github.jwdeveloper.tiktok.handlers.TikTokEventHandler;
|
|||||||
import io.github.jwdeveloper.tiktok.http.TikTokApiService;
|
import io.github.jwdeveloper.tiktok.http.TikTokApiService;
|
||||||
import io.github.jwdeveloper.tiktok.live.ConnectionState;
|
import io.github.jwdeveloper.tiktok.live.ConnectionState;
|
||||||
import io.github.jwdeveloper.tiktok.live.LiveClient;
|
import io.github.jwdeveloper.tiktok.live.LiveClient;
|
||||||
import io.github.jwdeveloper.tiktok.live.LiveMeta;
|
import io.github.jwdeveloper.tiktok.live.LiveRoomInfo;
|
||||||
import io.github.jwdeveloper.tiktok.live.TikTokLiveMeta;
|
import io.github.jwdeveloper.tiktok.live.TikTokRoomInfo;
|
||||||
import io.github.jwdeveloper.tiktok.websocket.TikTokWebsocketClient;
|
import io.github.jwdeveloper.tiktok.websocket.TikTokWebsocketClient;
|
||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class TikTokLiveClient implements LiveClient {
|
public class TikTokLiveClient implements LiveClient {
|
||||||
private final TikTokLiveMeta meta;
|
private final TikTokRoomInfo meta;
|
||||||
private final TikTokGiftManager giftManager;
|
private final TikTokGiftManager giftManager;
|
||||||
private final TikTokApiService apiClient;
|
private final TikTokApiService apiClient;
|
||||||
private final TikTokWebsocketClient webSocketClient;
|
private final TikTokWebsocketClient webSocketClient;
|
||||||
@@ -21,7 +21,7 @@ public class TikTokLiveClient implements LiveClient {
|
|||||||
private final Logger logger;
|
private final Logger logger;
|
||||||
|
|
||||||
|
|
||||||
public TikTokLiveClient(TikTokLiveMeta tikTokLiveMeta,
|
public TikTokLiveClient(TikTokRoomInfo tikTokLiveMeta,
|
||||||
TikTokApiService tikTokApiService,
|
TikTokApiService tikTokApiService,
|
||||||
TikTokWebsocketClient webSocketClient,
|
TikTokWebsocketClient webSocketClient,
|
||||||
TikTokGiftManager tikTokGiftManager,
|
TikTokGiftManager tikTokGiftManager,
|
||||||
@@ -38,28 +38,25 @@ public class TikTokLiveClient implements LiveClient {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void run() {
|
public void connect() {
|
||||||
tryConnect();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void stop() {
|
|
||||||
if (!meta.hasConnectionState(ConnectionState.CONNECTED)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
setState(ConnectionState.DISCONNECTED);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void tryConnect() {
|
|
||||||
try {
|
try {
|
||||||
connect();
|
tryConnect();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
setState(ConnectionState.DISCONNECTED);
|
setState(ConnectionState.DISCONNECTED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void connect() {
|
public void disconnect() {
|
||||||
|
if (!meta.hasConnectionState(ConnectionState.CONNECTED)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
webSocketClient.stop();
|
||||||
|
setState(ConnectionState.DISCONNECTED);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void tryConnect() {
|
||||||
if (meta.hasConnectionState(ConnectionState.CONNECTED))
|
if (meta.hasConnectionState(ConnectionState.CONNECTED))
|
||||||
throw new RuntimeException("Already connected");
|
throw new RuntimeException("Already connected");
|
||||||
if (meta.hasConnectionState(ConnectionState.CONNECTING))
|
if (meta.hasConnectionState(ConnectionState.CONNECTING))
|
||||||
@@ -82,13 +79,10 @@ public class TikTokLiveClient implements LiveClient {
|
|||||||
setState(ConnectionState.CONNECTED);
|
setState(ConnectionState.CONNECTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void disconnect()
|
|
||||||
{
|
|
||||||
webSocketClient.stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public LiveMeta getMeta() {
|
|
||||||
|
public LiveRoomInfo getRoomInfo() {
|
||||||
return meta;
|
return meta;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,9 +10,8 @@ import io.github.jwdeveloper.tiktok.http.TikTokCookieJar;
|
|||||||
import io.github.jwdeveloper.tiktok.http.TikTokHttpApiClient;
|
import io.github.jwdeveloper.tiktok.http.TikTokHttpApiClient;
|
||||||
import io.github.jwdeveloper.tiktok.http.TikTokHttpRequestFactory;
|
import io.github.jwdeveloper.tiktok.http.TikTokHttpRequestFactory;
|
||||||
import io.github.jwdeveloper.tiktok.live.LiveClient;
|
import io.github.jwdeveloper.tiktok.live.LiveClient;
|
||||||
import io.github.jwdeveloper.tiktok.live.TikTokLiveMeta;
|
import io.github.jwdeveloper.tiktok.live.TikTokRoomInfo;
|
||||||
import io.github.jwdeveloper.tiktok.websocket.TikTokWebsocketClient;
|
import io.github.jwdeveloper.tiktok.websocket.TikTokWebsocketClient;
|
||||||
import io.github.jwdeveloper.tiktok.handlers.WebResponseHandlerBase;
|
|
||||||
|
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -23,8 +22,8 @@ public class TikTokLiveClientBuilder implements TikTokEventBuilder<TikTokLiveCli
|
|||||||
private String userName;
|
private String userName;
|
||||||
private final ClientSettings clientSettings;
|
private final ClientSettings clientSettings;
|
||||||
private Map<String, Object> clientParameters;
|
private Map<String, Object> clientParameters;
|
||||||
private Logger logger;
|
private final Logger logger;
|
||||||
private TikTokEventHandler tikTokEventHandler;
|
private final TikTokEventHandler tikTokEventHandler;
|
||||||
|
|
||||||
public TikTokLiveClientBuilder(String userName) {
|
public TikTokLiveClientBuilder(String userName) {
|
||||||
this.tikTokEventHandler = new TikTokEventHandler();
|
this.tikTokEventHandler = new TikTokEventHandler();
|
||||||
@@ -92,7 +91,7 @@ public class TikTokLiveClientBuilder implements TikTokEventBuilder<TikTokLiveCli
|
|||||||
validate();
|
validate();
|
||||||
|
|
||||||
|
|
||||||
var meta = new TikTokLiveMeta();
|
var meta = new TikTokRoomInfo();
|
||||||
meta.setUserName(userName);
|
meta.setUserName(userName);
|
||||||
|
|
||||||
|
|
||||||
@@ -115,7 +114,7 @@ public class TikTokLiveClientBuilder implements TikTokEventBuilder<TikTokLiveCli
|
|||||||
|
|
||||||
public LiveClient buildAndRun() {
|
public LiveClient buildAndRun() {
|
||||||
var client = build();
|
var client = build();
|
||||||
client.run();
|
client.connect();
|
||||||
return client;
|
return client;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package io.github.jwdeveloper.tiktok.http;
|
|||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import io.github.jwdeveloper.tiktok.exceptions.TikTokLiveException;
|
import io.github.jwdeveloper.tiktok.exceptions.TikTokLiveException;
|
||||||
import io.github.jwdeveloper.tiktok.live.LiveRoomInfo;
|
import io.github.jwdeveloper.tiktok.live.LiveRoomMeta;
|
||||||
import io.github.jwdeveloper.tiktok.models.gifts.TikTokGift;
|
import io.github.jwdeveloper.tiktok.models.gifts.TikTokGift;
|
||||||
import io.github.jwdeveloper.tiktok.messages.WebcastResponse;
|
import io.github.jwdeveloper.tiktok.messages.WebcastResponse;
|
||||||
|
|
||||||
@@ -57,22 +57,22 @@ public class TikTokApiService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public LiveRoomInfo fetchRoomInfo() {
|
public LiveRoomMeta fetchRoomInfo() {
|
||||||
logger.info("Fetch RoomInfo");
|
logger.info("Fetch RoomInfo");
|
||||||
try {
|
try {
|
||||||
var response = apiClient.GetJObjectFromWebcastAPI("room/info/", clientParams);
|
var response = apiClient.GetJObjectFromWebcastAPI("room/info/", clientParams);
|
||||||
if (!response.has("data")) {
|
if (!response.has("data")) {
|
||||||
return new LiveRoomInfo();
|
return new LiveRoomMeta();
|
||||||
}
|
}
|
||||||
|
|
||||||
var data = response.getAsJsonObject("data");
|
var data = response.getAsJsonObject("data");
|
||||||
if (!data.has("status")) {
|
if (!data.has("status")) {
|
||||||
return new LiveRoomInfo();
|
return new LiveRoomMeta();
|
||||||
}
|
}
|
||||||
|
|
||||||
var status = data.get("status");
|
var status = data.get("status");
|
||||||
|
|
||||||
var info = new LiveRoomInfo();
|
var info = new LiveRoomMeta();
|
||||||
info.setStatus(status.getAsInt());
|
info.setStatus(status.getAsInt());
|
||||||
|
|
||||||
logger.info("RoomInfo status -> "+info.getStatus());
|
logger.info("RoomInfo status -> "+info.getStatus());
|
||||||
|
|||||||
@@ -1,34 +1,20 @@
|
|||||||
package io.github.jwdeveloper.tiktok.http;
|
package io.github.jwdeveloper.tiktok.http;
|
||||||
|
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
|
import org.junit.Test;
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.net.URI;
|
|
||||||
import java.net.http.HttpClient;
|
|
||||||
import java.net.http.HttpHeaders;
|
|
||||||
import java.net.http.HttpRequest;
|
|
||||||
import java.net.http.HttpResponse;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.time.Duration;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
import java.util.concurrent.CompletableFuture;
|
|
||||||
import java.util.concurrent.CompletionStage;
|
|
||||||
import java.util.concurrent.CountDownLatch;
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
public class TikTokApiServiceTest {
|
public class TikTokApiServiceTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testFetchAvailableGifts() {
|
public void testFetchAvailableGifts() {
|
||||||
// Arrange
|
// Arrange
|
||||||
var mockApiClient = mock(TikTokHttpApiClient.class);
|
var mockApiClient = mock(TikTokHttpApiClient.class);
|
||||||
var mockLogger = mock(Logger.class);
|
var mockLogger = mock(Logger.class);
|
||||||
@@ -48,40 +34,12 @@ public class TikTokApiServiceTest {
|
|||||||
|
|
||||||
var gifts = tikTokApiService.fetchAvailableGifts();
|
var gifts = tikTokApiService.fetchAvailableGifts();
|
||||||
|
|
||||||
|
|
||||||
assertNotNull(gifts);
|
assertNotNull(gifts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void test() throws Exception {
|
|
||||||
HttpClient client = HttpClient.newHttpClient();
|
|
||||||
HttpRequest request = HttpRequest.newBuilder()
|
|
||||||
.uri(new URI("https://tiktok.eulerstream.com/webcast/fetch/?room_id=7263690606554188577&client=ttlive-net&uuc=1&apiKey=&isSignRedirect=1&iph=658d90239052e48dabc4e5b61004661e"))
|
|
||||||
.build();
|
|
||||||
|
|
||||||
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
|
|
||||||
|
|
||||||
System.out.println("Response code: " + response.statusCode());
|
|
||||||
HttpHeaders headers = response.headers();
|
|
||||||
headers.map().forEach((k, v) -> System.out.println(k + ":" + v));
|
|
||||||
|
|
||||||
System.out.println("Response body: " + response.body());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testws2()
|
|
||||||
{
|
|
||||||
|
|
||||||
var url = "wss://webcast16-ws-useast1a.tiktok.com/webcast/im/push/?cursor=1691243226540_7263834340956643180_1_1_0_0&room_id=7263759223213132577&app_language=en-US&focus_state=true&last_rtt=0&did_rule=3&is_fullscreen=false&from_page=user&update_version_code=1.3.0&screen_height=1152&tz_name=Europe/Berlin&cookie_enabled=true&identity=audience&browser_platform=Win32&browser_version=5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36&browser_language=en&fetch_rule=1&value=u6Laa_b3czc3iEAb4x6oLXindKyTO&internal_ext=fetch_time:1691243226540|start_time:0|ack_ids:,|flag:0|seq:1|next_cursor:1691243226540_7263834340956643180_1_1_0_0|wss_info:0-1691243226540-0-0&screen_width=2048&version_code=180800&history_len=4&webcast_sdk_version=1.3.0&msToken=&app_name=tiktok_web&browser_name=Mozilla&resp_content_type=protobuf&live_id=12&webcast_language=en-US&name=imprp&device_platform=web&is_page_visible=true&aid=1988&browser_online=true";
|
|
||||||
|
|
||||||
var split = url.substring(373,url.length()-1);
|
|
||||||
|
|
||||||
var i =0;
|
|
||||||
|
|
||||||
var uri = URI.create(url);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -28,7 +28,7 @@ public class Main {
|
|||||||
.buildAndRun();
|
.buildAndRun();
|
||||||
|
|
||||||
|
|
||||||
var viewers = client.getMeta().getViewersCount();
|
var viewers = client.getRoomInfo().getViewersCount();
|
||||||
System.in.read();
|
System.in.read();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package io.github.jwdeveloper.tiktok;
|
||||||
|
|
||||||
|
public class SimpleExample {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
// Username of someone who is currently live
|
||||||
|
var tiktokUsername = "officialgeilegisela";
|
||||||
|
|
||||||
|
TikTokLive.newClient(tiktokUsername)
|
||||||
|
.clientSettings(settings ->
|
||||||
|
{
|
||||||
|
})
|
||||||
|
.onConnected(event ->
|
||||||
|
{
|
||||||
|
System.out.println("Connected");
|
||||||
|
})
|
||||||
|
.onJoin(event ->
|
||||||
|
{
|
||||||
|
System.out.println("User joined -> " + event.getUser().getNickName());
|
||||||
|
})
|
||||||
|
.onComment(event ->
|
||||||
|
{
|
||||||
|
System.out.println(event.getUser().getUniqueId() + ": " + event.getText());
|
||||||
|
})
|
||||||
|
.onError(event ->
|
||||||
|
{
|
||||||
|
event.getException().printStackTrace();
|
||||||
|
})
|
||||||
|
.buildAndRun();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package io.github.jwdeveloper.tiktok;
|
||||||
|
|
||||||
|
import io.github.jwdeveloper.tiktok.events.TikTokEvent;
|
||||||
|
import org.reflections.Reflections;
|
||||||
|
|
||||||
|
public class GenerateEventsListRun
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
//[a](https://github.com/jwdeveloper/TikTok-Live-Java/blob/master/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/TikTokBarrageMessageEvent.java)
|
||||||
|
//Message Events:
|
||||||
|
//- [member](#member)
|
||||||
|
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
Reflections reflections = new Reflections("io.github.jwdeveloper.tiktok.events.messages");
|
||||||
|
var classes = reflections.getSubTypesOf(TikTokEvent.class);
|
||||||
|
classes.add(TikTokEvent.class);
|
||||||
|
|
||||||
|
var builder = new StringBuilder();
|
||||||
|
builder.append("Events:").append(System.lineSeparator());
|
||||||
|
for(var event : classes)
|
||||||
|
{
|
||||||
|
var name = event.getSimpleName();
|
||||||
|
var baseUrl ="https://github.com/jwdeveloper/TikTok-Live-Java/blob/master/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages/"+name+".java";
|
||||||
|
builder.append("- [").append(name).append("](").append(baseUrl).append(")").append(System.lineSeparator());
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(builder.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
22
pom.xml
22
pom.xml
@@ -21,4 +21,26 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>1.18.22</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<version>4.13.1</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mockito</groupId>
|
||||||
|
<artifactId>mockito-core</artifactId>
|
||||||
|
<version>3.12.4</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
Reference in New Issue
Block a user