Skip to content

Commit a5320db

Browse files
authored
Merge pull request #63 from jwdeveloper/develop-1.5.0
Develop 1.5.0
2 parents ead954d + 4e1ab35 commit a5320db

File tree

89 files changed

+721
-25820
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+721
-25820
lines changed

API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokCommentEvent.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,23 @@ public class TikTokCommentEvent extends TikTokHeaderEvent {
4747

4848
public TikTokCommentEvent(WebcastChatMessage msg) {
4949
super(msg.getCommon());
50-
user = User.map(msg.getUser(),msg.getUserIdentity());
50+
user = User.map(msg.getUser(), msg.getUserIdentity());
5151
text = msg.getContent();
5252
visibleToSender = msg.getVisibleToSender();
5353
getUserLanguage = msg.getContentLanguage();
5454
mentionedUser = User.map(msg.getAtUser());
5555
pictures = msg.getEmotesListList().stream().map(e -> Picture.map(e.getEmote().getImage())).toList();
5656
}
57+
58+
59+
public static TikTokCommentEvent of(String userName, String message) {
60+
var builder = WebcastChatMessage.newBuilder();
61+
builder.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder()
62+
.setNickname(userName)
63+
.build());
64+
builder.setContentLanguage("en");
65+
builder.setVisibleToSender(true);
66+
builder.setContent(message);
67+
return new TikTokCommentEvent(builder.build());
68+
}
5769
}

API/src/main/java/io/github/jwdeveloper/tiktok/data/events/TikTokSubscribeEvent.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@
3636
*/
3737
@Getter
3838
@EventMeta(eventType = EventType.Message)
39-
public class TikTokSubscribeEvent extends TikTokHeaderEvent
40-
{
39+
public class TikTokSubscribeEvent extends TikTokHeaderEvent {
4140
private final User user;
4241

42+
4343
public TikTokSubscribeEvent(WebcastMemberMessage msg) {
4444
super(msg.getCommon());
4545
user = User.map(msg.getUser());
@@ -52,4 +52,11 @@ public TikTokSubscribeEvent(WebcastSubNotifyMessage msg) {
5252
user.addAttribute(UserAttribute.Subscriber);
5353
}
5454

55+
public static TikTokSubscribeEvent of(String userName) {
56+
return new TikTokSubscribeEvent(WebcastMemberMessage.newBuilder()
57+
.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder()
58+
.setNickname(userName)
59+
.build())
60+
.build());
61+
}
5562
}

API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftComboEvent.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
package io.github.jwdeveloper.tiktok.data.events.gift;
2424

2525
import io.github.jwdeveloper.tiktok.annotations.*;
26+
import io.github.jwdeveloper.tiktok.data.models.Picture;
2627
import io.github.jwdeveloper.tiktok.data.models.gifts.*;
2728
import io.github.jwdeveloper.tiktok.data.models.users.User;
2829
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastGiftMessage;
@@ -32,7 +33,7 @@
3233
/**
3334
* Triggered every time gift is sent
3435
*
35-
* @see GiftSendType it has 3 states
36+
* @see GiftComboStateType it has 3 states
3637
*
3738
* <p>Example when user sends gift with combo</p>
3839
* <p>>Combo: 1 -> comboState = GiftSendType.Begin</p>
@@ -45,10 +46,21 @@
4546
@EventMeta(eventType = EventType.Message)
4647
@Getter
4748
public class TikTokGiftComboEvent extends TikTokGiftEvent {
48-
private final GiftSendType comboState;
49+
private final GiftComboStateType comboState;
4950

50-
public TikTokGiftComboEvent(Gift gift, User host, WebcastGiftMessage msg, GiftSendType comboState) {
51+
public TikTokGiftComboEvent(Gift gift, User host, WebcastGiftMessage msg, GiftComboStateType comboState) {
5152
super(gift, host, msg);
5253
this.comboState = comboState;
5354
}
55+
56+
public static TikTokGiftComboEvent of(Gift gift, int combo, GiftComboStateType comboState) {
57+
return new TikTokGiftComboEvent(
58+
gift,
59+
new User(0L, "Test", new Picture("")),
60+
WebcastGiftMessage
61+
.newBuilder()
62+
.setComboCount(combo)
63+
.build(),
64+
comboState);
65+
}
5466
}

API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftEvent.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
import io.github.jwdeveloper.tiktok.annotations.*;
2727
import io.github.jwdeveloper.tiktok.data.events.common.TikTokHeaderEvent;
28+
import io.github.jwdeveloper.tiktok.data.models.Picture;
2829
import io.github.jwdeveloper.tiktok.data.models.gifts.*;
2930
import io.github.jwdeveloper.tiktok.data.models.users.User;
3031
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastGiftMessage;
@@ -55,4 +56,20 @@ public TikTokGiftEvent(Gift gift, User liveHost, WebcastGiftMessage msg) {
5556
}
5657
combo = msg.getComboCount();
5758
}
59+
60+
public TikTokGiftEvent(Gift gift) {
61+
this.gift = gift;
62+
user = new User(0L, "sender", new Picture(""));
63+
toUser = new User(0L, "receiver", new Picture(""));
64+
combo = 1;
65+
}
66+
67+
68+
public static TikTokGiftEvent of(Gift gift) {
69+
return new TikTokGiftEvent(gift);
70+
}
71+
72+
public static TikTokGiftEvent of(String name, int id, int diamonds) {
73+
return TikTokGiftEvent.of(new Gift(id, name, diamonds, ""));
74+
}
5875
}

API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokFollowEvent.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@
2424

2525
import io.github.jwdeveloper.tiktok.annotations.EventMeta;
2626
import io.github.jwdeveloper.tiktok.annotations.EventType;
27+
import io.github.jwdeveloper.tiktok.data.events.TikTokSubscribeEvent;
2728
import io.github.jwdeveloper.tiktok.data.events.common.TikTokHeaderEvent;
2829
import io.github.jwdeveloper.tiktok.data.models.users.User;
30+
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastMemberMessage;
2931
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastSocialMessage;
3032
import lombok.Value;
3133

@@ -45,4 +47,12 @@ public TikTokFollowEvent(WebcastSocialMessage msg) {
4547
totalFollowers = msg.getFollowCount();
4648
}
4749

50+
public static TikTokFollowEvent of(String userName)
51+
{
52+
return new TikTokFollowEvent(WebcastSocialMessage.newBuilder()
53+
.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder()
54+
.setNickname(userName)
55+
.build())
56+
.build());
57+
}
4858
}

API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokJoinEvent.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import io.github.jwdeveloper.tiktok.annotations.EventType;
2727
import io.github.jwdeveloper.tiktok.data.events.common.TikTokHeaderEvent;
2828
import io.github.jwdeveloper.tiktok.data.models.users.User;
29+
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastLikeMessage;
2930
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastMemberMessage;
3031
import io.github.jwdeveloper.tiktok.messages.webcast.WebcastSocialMessage;
3132
import lombok.Getter;
@@ -47,4 +48,13 @@ public TikTokJoinEvent(WebcastMemberMessage msg) {
4748
user = User.map(msg.getUser());
4849
totalUsers = msg.getMemberCount();
4950
}
51+
52+
public static TikTokJoinEvent of(String userName)
53+
{
54+
return new TikTokJoinEvent(WebcastMemberMessage.newBuilder()
55+
.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder()
56+
.setNickname(userName)
57+
.build())
58+
.build());
59+
}
5060
}

API/src/main/java/io/github/jwdeveloper/tiktok/data/events/social/TikTokLikeEvent.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,15 @@ public TikTokLikeEvent(WebcastLikeMessage msg) {
5757
likes = msg.getCount();
5858
totalLikes = msg.getTotal();
5959
}
60+
61+
public static TikTokLikeEvent of(String userName, int likes)
62+
{
63+
return new TikTokLikeEvent(WebcastLikeMessage.newBuilder()
64+
.setCount(likes)
65+
.setTotal(likes)
66+
.setUser(io.github.jwdeveloper.tiktok.messages.data.User.newBuilder()
67+
.setNickname(userName)
68+
.build())
69+
.build());
70+
}
6071
}

API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftSendType.java renamed to API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftComboStateType.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,16 @@
2222
*/
2323
package io.github.jwdeveloper.tiktok.data.models.gifts;
2424

25-
public enum GiftSendType
26-
{
25+
//TODO it should be called GiftComboStateType
26+
public enum GiftComboStateType {
2727
Finished,
2828
Begin,
2929
Active;
3030

31-
public static GiftSendType fromNumber(long number)
32-
{
31+
public static GiftComboStateType fromNumber(long number) {
3332
return switch ((int) number) {
34-
case 1, 2, 4 -> GiftSendType.Active;
35-
default -> GiftSendType.Finished;
33+
case 1, 2, 4 -> GiftComboStateType.Active;
34+
default -> GiftComboStateType.Finished;
3635
};
3736
}
3837
}

API/src/main/java/io/github/jwdeveloper/tiktok/data/requests/LiveData.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ public static class Request {
3535
}
3636

3737
@Data
38+
@AllArgsConstructor
3839
public static class Response {
3940
private String json;
4041
private LiveStatus liveStatus;
@@ -45,6 +46,11 @@ public static class Response {
4546
private boolean ageRestricted;
4647
private User host;
4748
private LiveType liveType;
49+
public Response() {
50+
51+
}
52+
53+
4854
}
4955

5056
public enum LiveStatus {

API/src/main/java/io/github/jwdeveloper/tiktok/data/settings/LiveClientSettings.java

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,20 @@ public class LiveClientSettings {
3535

3636

3737
/**
38+
* TODO: give better description
39+
* <p>
40+
* sets client in the offline mode, so it do not connects to TikTok servers
41+
* it makes sense to use it when you are testing client with your custom events
42+
*/
43+
private boolean offline;
44+
45+
/**
46+
* TODO: give better description
47+
* <p>
3848
* Determines if gifts data is downloaded before TikTokLive starts,
3949
* when `false` then client.giftManager() does not contain initial gifts
4050
*/
41-
private boolean fetchGifts;
51+
private boolean fetchGifts = true;
4252

4353
/**
4454
* ISO-Language for Client
@@ -76,14 +86,19 @@ public class LiveClientSettings {
7686
private HttpClientSettings httpSettings;
7787

7888
/**
79-
* Optional: Sometimes not every messages from chat are send to TikTokLiveJava to fix this issue you can set sessionId
80-
* documentation how to obtain sessionId https://github.com/isaackogan/TikTok-Live-Connector#send-chat-messages
89+
* Interval of time in milliseconds between pings to TikTok
90+
* @apiNote Min: 250 (0.25 seconds), Default: 5000 (5 seconds)
8191
*/
92+
private long pingInterval = 5000;
93+
94+
/**
95+
* Optional: Sometimes not every messages from chat are send to TikTokLiveJava to fix this issue you can set sessionId
96+
* @see <a href="https://github.com/isaackogan/TikTok-Live-Connector#send-chat-messages">Documentation: How to obtain sessionId</a>
97+
*/
8298
private String sessionId;
8399

84100
/**
85101
* Optional: By default roomID is fetched before connect to live, but you can set it manually
86-
*
87102
*/
88103
private String roomId;
89104

@@ -92,8 +107,7 @@ public class LiveClientSettings {
92107
*/
93108
private String apiKey;
94109

95-
public static LiveClientSettings createDefault()
96-
{
110+
public static LiveClientSettings createDefault() {
97111
var httpSettings = new HttpClientSettings();
98112
httpSettings.getParams().putAll(DefaultClientParams());
99113
httpSettings.getHeaders().putAll(DefaultRequestHeaders());
@@ -166,4 +180,6 @@ public static Map<String, String> DefaultRequestHeaders() {
166180
headers.put("Accept-Language", "en-US,en; q=0.9");
167181
return headers;
168182
}
183+
184+
169185
}

0 commit comments

Comments
 (0)