Implement Social Event instances with custom Users (#151)

* Add .of methods for custom User objects

Adds an extra .of() function that accepts a User object, instead of a username string.

* Use username if profile name not set

* Add combo argument

* Replace WebcastGiftMessage from the new constructor

* Fix argument naming error

* Fix wrong argument order
This commit is contained in:
GosDev
2025-11-16 04:57:43 +01:00
committed by GitHub
parent db4d382e34
commit 4be74c45ff
6 changed files with 68 additions and 7 deletions

View File

@@ -39,6 +39,11 @@ public class TikTokGiftComboEvent extends TikTokGiftEvent {
this.comboState = comboState; this.comboState = comboState;
} }
public TikTokGiftComboEvent(Gift gift, User host, User user, int combo, GiftComboStateType comboState) {
super(gift, user, host, combo);
this.comboState = comboState;
}
public static TikTokGiftComboEvent of(Gift gift, int combo, GiftComboStateType comboState) { public static TikTokGiftComboEvent of(Gift gift, int combo, GiftComboStateType comboState) {
return new TikTokGiftComboEvent( return new TikTokGiftComboEvent(
gift, gift,
@@ -46,4 +51,12 @@ public class TikTokGiftComboEvent extends TikTokGiftEvent {
WebcastGiftMessage.newBuilder().setComboCount(combo).build(), WebcastGiftMessage.newBuilder().setComboCount(combo).build(),
comboState); comboState);
} }
public static TikTokGiftComboEvent of(Gift gift, User host, User user, int combo, GiftComboStateType comboState) {
return new TikTokGiftComboEvent(gift,
host,
user,
combo,
comboState);
}
} }

View File

@@ -49,17 +49,25 @@ public class TikTokGiftEvent extends TikTokHeaderEvent {
} }
combo = msg.getComboCount(); combo = msg.getComboCount();
} }
public TikTokGiftEvent(Gift gift) { public TikTokGiftEvent(Gift gift, User user, User toUser, int combo) {
this.gift = gift; this.gift = gift;
user = new User(0L, "sender", new Picture("")); this.user = user;
toUser = new User(0L, "receiver", new Picture("")); this.toUser = toUser;
combo = 1; this.combo = combo;
} }
public static TikTokGiftEvent of(Gift gift) { public static TikTokGiftEvent of(Gift gift) {
return new TikTokGiftEvent(gift); return new TikTokGiftEvent(
gift,
new User(0L, "sender", new Picture("")),
new User(0L, "reviever", new Picture("")),
1
);
}
public static TikTokGiftEvent of(Gift gift, User user, User toUser) {
return new TikTokGiftEvent(gift, user, toUser, 1) ;
} }
public static TikTokGiftEvent of(String name, int id, int diamonds) { public static TikTokGiftEvent of(String name, int id, int diamonds) {

View File

@@ -50,4 +50,14 @@ public class TikTokFollowEvent extends TikTokHeaderEvent {
.build()) .build())
.build()); .build());
} }
public static TikTokFollowEvent of(User user) {
return new TikTokFollowEvent(WebcastSocialMessage.newBuilder()
.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder()
.setUsername(user.getName())
.setNickname(user.getProfileName() != null ? user.getProfileName() : user.getName())
.setId(user.getId())
.build())
.build());
}
} }

View File

@@ -57,4 +57,14 @@ public class TikTokJoinEvent extends TikTokHeaderEvent {
.build()) .build())
.build()); .build());
} }
public static TikTokJoinEvent of(User user) {
return new TikTokJoinEvent(WebcastMemberMessage.newBuilder()
.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder()
.setUsername(user.getName())
.setNickname(user.getProfileName())
.setId(user.getId())
.build())
.build());
}
} }

View File

@@ -67,4 +67,15 @@ public class TikTokLikeEvent extends TikTokHeaderEvent
.build()) .build())
.build()); .build());
} }
public static TikTokLikeEvent of(User user, int likes) {
return new TikTokLikeEvent(WebcastLikeMessage.newBuilder()
.setCount(likes)
.setTotal(likes)
.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder()
.setUsername(user.getName())
.setNickname(user.getProfileName())
.build())
.build());
}
} }

View File

@@ -55,4 +55,13 @@ public class TikTokShareEvent extends TikTokHeaderEvent {
.build()) .build())
.build(), shaders); .build(), shaders);
} }
public static TikTokShareEvent of(User user, int shaders) {
return new TikTokShareEvent(WebcastSocialMessage.newBuilder()
.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder()
.setUsername(user.getName())
.setNickname(user.getProfileName())
.build())
.build(), shaders);
}
} }