mirror of
https://github.com/jwdeveloper/TikTokLiveJava.git
synced 2026-02-27 16:59:39 -05:00
Breaking changes:
'Gift': changed from class to enum, so now you can handle
incoming gifts in switch
`Events`
- new:
onGiftComboFinished
- Removed:
onGiftBrodcast
- Rename:
onGiftMessage -> onGift
onRoomPinMessage -> onRoomPin
onRoomMessage -> onRoom
onLinkMessage -> onLink
onBarrageMessage -> onBarrage
onPollMessage -> onPoll
onShopMessage -> onShop
onDetectMessage -> onDetect
`GiftManager`
added:
registerGift
findById
findByName
getGifts
removed:
getActiveGifts
This commit is contained in:
@@ -22,8 +22,10 @@
|
||||
*/
|
||||
package io.github.jwdeveloper.tiktok.tools.collector;
|
||||
|
||||
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastGiftMessage;
|
||||
import io.github.jwdeveloper.tiktok.tools.collector.client.TikTokMessageCollectorClient;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
|
||||
public class RunCollector {
|
||||
@@ -33,15 +35,48 @@ public class RunCollector {
|
||||
|
||||
//WebcastLinkMicBattleItemCard does streamer win battle?
|
||||
|
||||
public static void main(String[] args) throws SQLException {
|
||||
public static void main(String[] args) throws SQLException, IOException {
|
||||
|
||||
TikTokMessageCollectorClient.create("messageCollector")
|
||||
.addUser("bangbetmenygy")
|
||||
.addUser("mr_cios")
|
||||
.addUser("sleepstreamxxx")
|
||||
.addUser("psychotropnazywo")
|
||||
.addUser("accordionistka")
|
||||
TikTokMessageCollectorClient.create("giftsCollector")
|
||||
.addUser("cbcgod")
|
||||
// .addUser("mr_cios")
|
||||
// .addUser("cbcgod")
|
||||
// .addUser("psychotropnazywo")
|
||||
// .addUser("accordionistka")
|
||||
.addEventFilter(WebcastGiftMessage.class)
|
||||
.addOnBuilder(liveClientBuilder ->
|
||||
{
|
||||
liveClientBuilder.onGift((liveClient, event) ->
|
||||
{
|
||||
|
||||
});
|
||||
|
||||
liveClientBuilder.onGiftCombo((liveClient, event) ->
|
||||
{
|
||||
|
||||
});
|
||||
|
||||
liveClientBuilder.onGift((liveClient, event) ->
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
sb.append("GIFT User: " + event.getUser().getDisplayName()+" ");
|
||||
sb.append("Name: " + event.getGift().name() + " ");
|
||||
sb.append("Combo: " + event.getCombo() + " ");
|
||||
System.out.println(sb.toString());
|
||||
});
|
||||
liveClientBuilder.onGiftCombo((liveClient, event) ->
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
sb.append("COMBO User: " + event.getUser().getDisplayName()+" ");
|
||||
sb.append("Name: " + event.getGift().name() + " ");
|
||||
sb.append("Combo: " + event.getCombo() + " ");
|
||||
sb.append("Type: " + event.getComboState().name());
|
||||
System.out.println(sb.toString());
|
||||
});
|
||||
})
|
||||
.buildAndRun();
|
||||
|
||||
System.in.read();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ public class MessageCollector {
|
||||
|
||||
var queue = messages.get(name);
|
||||
if (queue.size() > limit) {
|
||||
queue.poll();
|
||||
queue.remove();
|
||||
}
|
||||
|
||||
queue.add(new MessageData(base64, host, LocalDateTime.now().toString()));
|
||||
|
||||
@@ -34,6 +34,7 @@ import io.github.jwdeveloper.tiktok.tools.collector.tables.TikTokMessageModel;
|
||||
import io.github.jwdeveloper.tiktok.tools.collector.tables.TikTokResponseModel;
|
||||
|
||||
import java.util.Base64;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@@ -46,8 +47,9 @@ public class TikTokClientFactory {
|
||||
this.tikTokDatabase = tikTokDatabase;
|
||||
}
|
||||
|
||||
public CompletableFuture<LiveClient> runClientAsync(String tiktokUser, Consumer<LiveClientBuilder> onBuilder) {
|
||||
public CompletableFuture<LiveClient> runClientAsync(String tiktokUser, List<Class<?>> filters, Consumer<LiveClientBuilder> onBuilder) {
|
||||
var builder = TikTokLive.newClient(tiktokUser);
|
||||
var msgFilter = filters.stream().map(Class::getSimpleName).toList();
|
||||
onBuilder.accept(builder);
|
||||
return builder.onConnected((liveClient, event) ->
|
||||
{
|
||||
@@ -62,7 +64,12 @@ public class TikTokClientFactory {
|
||||
responseModel.setHostName(liveClient.getRoomInfo().getHostName());
|
||||
tikTokDatabase.insertResponse(responseModel);
|
||||
liveClient.getLogger().info("Response");
|
||||
for (var message : event.getResponse().getMessagesList()) {
|
||||
for (var message : event.getResponse().getMessagesList())
|
||||
{
|
||||
if(msgFilter.size() > 0 && !msgFilter.contains(message.getMethod()))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
messageCollector.addMessage(liveClient.getLogger(), liveClient.getRoomInfo().getHostName(), message);
|
||||
}
|
||||
})
|
||||
@@ -71,7 +78,7 @@ public class TikTokClientFactory {
|
||||
var eventName = event.getEvent().getClass().getSimpleName();
|
||||
|
||||
/*
|
||||
if (filter.size() != 0 && !filter.contains(event.getEvent().getClass())) {
|
||||
if (msgFilter.size() != 0 && !msgFilter.contains(event.getEvent().getClass())) {
|
||||
return;
|
||||
}*/
|
||||
|
||||
@@ -83,7 +90,7 @@ public class TikTokClientFactory {
|
||||
model.setMessage(messageBinary);
|
||||
|
||||
// tikTokDatabase.insertMessage(model);
|
||||
liveClient.getLogger().info("EVENT: [" + tiktokUser + "] " + eventName);
|
||||
// liveClient.getLogger().info("EVENT: [" + tiktokUser + "] " + eventName);
|
||||
})
|
||||
.onError((liveClient, event) ->
|
||||
{
|
||||
|
||||
@@ -82,7 +82,7 @@ public class TikTokMessagessCollectorBuilder {
|
||||
db.init();
|
||||
var factory = new TikTokClientFactory(messageCollector, db);
|
||||
for (var user : users) {
|
||||
var client = factory.runClientAsync(user, onBuilder);
|
||||
var client = factory.runClientAsync(user,filters, onBuilder);
|
||||
client.thenAccept(liveClient ->
|
||||
{
|
||||
tiktokclients.add(liveClient);
|
||||
|
||||
@@ -47,7 +47,15 @@ public class RunJsonTester {
|
||||
sb.append(MessageUtil.getContent(event.getData()));
|
||||
|
||||
|
||||
liveClient.getLogger().info(sb.toString());
|
||||
// liveClient.getLogger().info(sb.toString());
|
||||
}).
|
||||
onGift((liveClient, event) ->
|
||||
{
|
||||
liveClient.getLogger().info("Gift event: "+event.toJson());
|
||||
})
|
||||
.onGiftCombo((liveClient, event) ->
|
||||
{
|
||||
liveClient.getLogger().info("GiftCombo event"+event.toJson());
|
||||
})
|
||||
.onError((liveClient, event) ->
|
||||
{
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user