diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/common/TikTokEmptyEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/common/TikTokEmptyEvent.java index bb51d4e..f0b0b5b 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/common/TikTokEmptyEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/common/TikTokEmptyEvent.java @@ -1,3 +1,25 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ package io.github.jwdeveloper.tiktok.data.events.common; diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftComboEvent.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftComboEvent.java index 2363fbe..cbc81ca 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftComboEvent.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/events/gift/TikTokGiftComboEvent.java @@ -35,11 +35,11 @@ import lombok.Getter; * * @see GiftSendType it has 3 states * - * Example when user sends gift with combo - * Combo: 1 -> comboState = GiftSendType.Begin - * Combo: 4 -> comboState = GiftSendType.Active - * Combo: 8 -> comboState = GiftSendType.Active - * Combo: 12 -> comboState = GiftSendType.Finsihed + *
Example when user sends gift with combo
+ *>Combo: 1 -> comboState = GiftSendType.Begin
+ *Combo: 4 -> comboState = GiftSendType.Active
+ *Combo: 8 -> comboState = GiftSendType.Active
+ *Combo: 12 -> comboState = GiftSendType.Finsihed
* * Remember if comboState is Finsihed both TikTokGiftComboEvent and TikTokGiftEvent event gets triggered */ diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/Text.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/Text.java index bb467e7..02e3d98 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/Text.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/Text.java @@ -108,7 +108,7 @@ public class Text { @Override public String getText() { - return user.getDisplayName(); + return user.getProfileName(); } } diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftSendType.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftSendType.java index 3a1b6c7..f6cac7c 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftSendType.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/gifts/GiftSendType.java @@ -1,3 +1,25 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ package io.github.jwdeveloper.tiktok.data.models.gifts; public enum GiftSendType diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/users/User.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/users/User.java index 28ea7b7..0b331f3 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/users/User.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/models/users/User.java @@ -27,7 +27,6 @@ import io.github.jwdeveloper.tiktok.data.models.Picture; import io.github.jwdeveloper.tiktok.messages.webcast.WebcastEnvelopeMessage; import lombok.AccessLevel; import lombok.Getter; -import lombok.Setter; import java.util.Arrays; import java.util.HashSet; @@ -38,7 +37,7 @@ import java.util.Set; public class User { private final Long id; private final String name; - private String displayName; + private String profileName; private Picture picture; private long following; private long followers; @@ -124,7 +123,7 @@ public class User { public User(io.github.jwdeveloper.tiktok.messages.data.User user) { this(user.getId(), user.getDisplayId(), Picture.map(user.getAvatarThumb())); - displayName = user.getNickname(); + profileName = user.getNickname(); following = user.getFollowInfo().getFollowingCount(); followers = user.getFollowInfo().getFollowerCount(); badges = user.getBadgeListList().stream().map(Badge::map).toList(); diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/utils/Stopwatch.java b/API/src/main/java/io/github/jwdeveloper/tiktok/utils/Stopwatch.java index 22e2e48..4e30ceb 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/utils/Stopwatch.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/utils/Stopwatch.java @@ -1,3 +1,25 @@ +/* + * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ package io.github.jwdeveloper.tiktok.utils; public class Stopwatch { diff --git a/Client/pom.xml b/Client/pom.xml index 4009d70..e48ce4d 100644 --- a/Client/pom.xml +++ b/Client/pom.xml @@ -24,11 +24,7 @@
/**
*
* Listeners are an alternative way of handling events.
@@ -84,7 +86,7 @@ public class ListenerExample {
public void onGift(LiveClient liveClient, TikTokGiftEvent event) {
var message = switch (event.getGift()) {
case ROSE -> "Thanks :)";
- case APPETIZERS -> ":$";
+ case APPETIZERS -> ":OO";
case APRIL -> ":D";
case TIKTOK -> ":P";
case CAP -> ":F";
@@ -100,6 +102,7 @@ public class ListenerExample {
}
+ //
private static void showLogo()
{
System.out.println(ConsoleColors.GREEN+"""
diff --git a/Examples/target/classes/io/github/jwdeveloper/tiktok/ListenerExample$1.class b/Examples/target/classes/io/github/jwdeveloper/tiktok/ListenerExample$1.class
index e1a702d..0bc82c0 100644
Binary files a/Examples/target/classes/io/github/jwdeveloper/tiktok/ListenerExample$1.class and b/Examples/target/classes/io/github/jwdeveloper/tiktok/ListenerExample$1.class differ
diff --git a/Tools-EventsCollector/pom.xml b/Tools-EventsCollector/pom.xml
index 31ff120..6ecbf35 100644
--- a/Tools-EventsCollector/pom.xml
+++ b/Tools-EventsCollector/pom.xml
@@ -48,7 +48,7 @@
+ TikTokLive.newClient("bangbetmenygy")
+ .onGift((liveClient, event) ->
+ {
+ String message = switch (event.getGift()) {
+ case ROSE -> "ROSE!";
+ case GG -> "GOOD GAME";
+ case TIKTOK -> "Ye";
+ case CORGI -> "Nice gift";
+ default -> "Thank you for " + event.getGift().getName();
+ };
+ System.out.println(event.getUser().getProfileName() + " sends " + message);
+ })
+ .onGiftCombo((liveClient, event) ->
+ {
+ System.out.println(event.getComboState()+ " " + event.getCombo() + " " + event.getGift().getName());
+ })
+ .onJoin((liveClient, event) ->
+ {
+ System.out.println(event.getUser().getProfileName() + "Hello on my stream! ");
+ })
+ .onConnected((liveClient, event) ->
+ {
+ System.out.println("Connected to live ");
+ })
+ .onError((liveClient, event) ->
+ {
+ System.out.println("Error! " + event.getException().getMessage());
+ })
+ .buildAndConnect();
+ //
+ }
+
+ public static void configExample() {
+ //
TikTokLive.newClient("bangbetmenygy")
.configure((settings) ->
{
@@ -92,6 +94,7 @@ public class CodeExample
settings.setRoomId("XXXXXXXXXXXXXXXXX");
})
.buildAndConnect();
+ //
}
diff --git a/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/CodeExamplesGenerator.java b/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/CodeExamplesGenerator.java
new file mode 100644
index 0000000..dbe6740
--- /dev/null
+++ b/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/CodeExamplesGenerator.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+package io.github.jwdeveloper.tiktok;
+
+import io.github.jwdeveloper.tiktok.utils.FilesUtility;
+import io.github.jwdeveloper.tiktok.utils.TemplateUtility;
+
+import java.util.HashMap;
+import java.util.regex.Pattern;
+
+public class CodeExamplesGenerator {
+ public static void main(String[] args) {
+ var result = new CodeExamplesGenerator().run();
+ System.out.println(result);
+ }
+
+ public String run() {
+
+ var content = FilesUtility.loadFileContent("C:\\Users\\ja\\IdeaProjects\\TikTokLiveJava\\Tools-ReadmeGenerator\\src\\main\\java\\io\\github\\jwdeveloper\\tiktok\\CodeExample.java");
+ var p = "(.*?)";
+ var r = Pattern.compile(p, Pattern.DOTALL);
+ var m = r.matcher(content);
+
+
+ var pattern = """
+ ```java
+ {{code}}
+ ```
+ 3. Configure (optional)
+
+ ```java
+ {{config}}
+ ```
+ """;
+
+
+ var values = new HashMap", "")
+ .replace("// ", "")
+ .replaceAll("(?m)^ {8}", "");
+ values.put("code", code);
+
+ m.find();
+ values.put("config", m.group(1));
+ var result = TemplateUtility.generateTemplate(pattern, values);
+
+
+ return result;
+ }
+}
diff --git a/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/EventsInfoGenerator.java b/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/EventsInfoGenerator.java
index fd6dd59..b171415 100644
--- a/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/EventsInfoGenerator.java
+++ b/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/EventsInfoGenerator.java
@@ -82,11 +82,15 @@ public class EventsInfoGenerator {
variables.put("method-name", dto.getMethodName());
variables.put("content", doc);
variables.put("event-name", dto.getEventClazz().getSimpleName());
+
+ var baseUrl = "https://github.com/jwdeveloper/TikTokLiveJava/blob/master/API/src/main/java/";
+ baseUrl += dto.getEventClazz().getPackageName().replace(".","/");
+ baseUrl += "/"+dto.getEventClazz().getSimpleName()+".java";
+ variables.put("event-file-url",baseUrl);
var temp = """
-
- ## {{method-name}} [{{event-name}}](https://github.com/jwdeveloper/TikTok-Live-Java/blob/master/API/src/main/java/io/github/jwdeveloper/tiktok/events/messages.java)
+ ## {{method-name}} [{{event-name}}]({{event-file-url}})
{{content}}
diff --git a/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/ListenerExampleGenerator.java b/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/ListenerExampleGenerator.java
new file mode 100644
index 0000000..bbc32e6
--- /dev/null
+++ b/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/ListenerExampleGenerator.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2023-2023 jwdeveloper jacekwoln@gmail.com
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+package io.github.jwdeveloper.tiktok;
+
+import io.github.jwdeveloper.tiktok.utils.FilesUtility;
+
+import java.util.regex.Pattern;
+
+public class ListenerExampleGenerator
+{
+ public static void main(String[] arg)
+ {
+ var result = new ListenerExampleGenerator();
+ System.out.println(result);
+ }
+
+
+ public String run()
+ {
+ var content = FilesUtility.loadFileContent("C:\\Users\\ja\\IdeaProjects\\TikTokLiveJava\\Examples\\src\\main\\java\\io\\github\\jwdeveloper\\tiktok\\ListenerExample.java");
+ var p = "(.*?)";
+ var r = Pattern.compile(p, Pattern.DOTALL);
+ var m = r.matcher(content);
+ m.find();
+ return m.group(1);
+ }
+}
diff --git a/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/ReadmeGenerator.java b/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/ReadmeGenerator.java
index 198f20f..b5a1d29 100644
--- a/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/ReadmeGenerator.java
+++ b/Tools-ReadmeGenerator/src/main/java/io/github/jwdeveloper/tiktok/ReadmeGenerator.java
@@ -26,48 +26,38 @@ import io.github.jwdeveloper.tiktok.utils.FilesUtility;
import io.github.jwdeveloper.tiktok.utils.TemplateUtility;
import java.util.HashMap;
-import java.util.regex.Pattern;
-public class ReadmeGenerator
-{
- public static void main(String[] args)
- {
+public class ReadmeGenerator {
+ public static void main(String[] args) {
var generator = new ReadmeGenerator();
generator.generate();
}
- public void generate()
- {
- var template = FilesUtility.getFileFromResource(ReadmeGenerator.class,"template.md");
- var variables = new HashMap