aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md85
-rw-r--r--src/main/java/App.java26
-rw-r--r--src/main/java/com/pinapelz/vtuber/ExtraData.java13
-rw-r--r--src/main/java/com/pinapelz/vtuber/Language.java12
-rw-r--r--src/main/java/com/pinapelz/vtuber/Order.java6
-rw-r--r--src/main/java/com/pinapelz/vtuber/Organization.java83
-rw-r--r--src/main/java/com/pinapelz/vtuber/Sort.java9
-rw-r--r--src/main/java/com/pinapelz/vtuber/Status.java9
-rw-r--r--src/main/java/com/pinapelz/vtuber/Type.java6
9 files changed, 202 insertions, 47 deletions
diff --git a/README.md b/README.md
index b6cb580..bd2e1ac 100644
--- a/README.md
+++ b/README.md
@@ -8,47 +8,66 @@ A mega scuffed Java Holodex Wrapper (Currently a work in progress). Supports the
## Usage
Please check what values are available from your response through Holodex's API documentation. Null values indicate that the endpoint you are on does not serve the value you are trying to retrieve.
```java
-Holodex holodex = new Holodex("YOUR_API_KEY");
-Channel channel = holodex.getChannel("UC4WvIIAo89_AzGUh1AZ6Dkg");
-System.out.println(channel.name + " is a member of " + channel.org + " and has " + channel.suborg + " as a suborg");
+import com.pinapelz.Holodex;
+import com.pinapelz.HolodexException;
+import com.pinapelz.datatypes.*;
+import com.pinapelz.vtuber.*;
+import com.pinapelz.query.*;
-VideoQueryBuilder liveVideoQuery = new VideoQueryBuilder().setStatus("live").setOrg("Hololive");
-List<SimpleVideo> currentlyLiveVideos = holodex.getLiveAndUpcomingVideos(liveVideoQuery);
-System.out.println("Currently there are " + currentlyLiveVideos.size() + " livestreams on going in Hololive");
+import java.util.List;
-for (SimpleVideo video : currentlyLiveVideos) {
-System.out.println(video.channel.name + " is currently live with " + video.live_viewers + " views");
-}
+public class App {
+ public static void main(String[] args) {
+ try {
+ Holodex holodex = new Holodex("YOUR_API_KEY_HERE");
+ Channel channel = holodex.getChannel("UC4WvIIAo89_AzGUh1AZ6Dkg");
+ System.out.println(channel.name + " is a member of " + channel.org + " and has " + channel.suborg + " as a suborg");
-ChannelQueryBuilder channelQuery = new ChannelQueryBuilder();
-channelQuery.setOrg("Nijisanji");
-channelQuery.setLimit(75);
-List<Channel> nijisanjiMembers = holodex.getChannels(channelQuery);
+ VideoQueryBuilder liveVideoQuery = new VideoQueryBuilder().setStatus(Status.LIVE).setOrg(Organization.HOLOLIVE);
+ List<SimpleVideo> currentlyLiveVideos = holodex.getLiveAndUpcomingVideos(liveVideoQuery);
+ System.out.println("Currently there are " + currentlyLiveVideos.size() + " livestreams on going in Hololive");
-Video anotherVideo = holodex.getVideo(new VideoByVideoIdQueryBuilder().setVideoId("9-O_IWM3184").setLang("en"));
-System.out.println(anotherVideo.channel.name + " uploaded a video titled " + anotherVideo.title +
-" on " + anotherVideo.published_at);
+ for (SimpleVideo video : currentlyLiveVideos) {
+ System.out.println(video.channel.name + " is currently live with " + video.live_viewers + " views");
+ }
-// SEARCHING THROUGH VIDEOS AND COMMENTS
-Object srv = holodex.searchVideo(new VideoSearchQueryBuilder().setOrg(List.of("Nijisanji")).setSort("newest").
-setTarget(List.of("stream")).setPaginated(false).setLimit(10).setOffset(0)
-.setTopic(List.of("singing"))
-);
-System.out.println("--- Search Results ---");
-for (SimpleVideo video : (List<SimpleVideo>) srv) {
-System.out.println(video.title + " - " + video.channel.name);
-}
+ ChannelQueryBuilder channelQuery = new ChannelQueryBuilder();
+ channelQuery.setOrg(Organization.NIJISANJI);
+ channelQuery.setLimit(75);
+ List<Channel> nijisanjiMembers = holodex.getChannels(channelQuery);
+
+ Video anotherVideo = holodex.getVideo(new VideoByVideoIdQueryBuilder().setVideoId("9-O_IWM3184").setLang(Language.ENGLISH));
+ System.out.println(anotherVideo.channel.name + " uploaded a video titled " + anotherVideo.title +
+ " on " + anotherVideo.published_at);
+ // SEARCHING THROUGH VIDEOS AND COMMENTS
+ Object srv = holodex.searchVideo(new VideoSearchQueryBuilder().setOrg(List.of("Nijisanji")).setSort(Sort.NEWEST).
+ setTarget(List.of(Type.STREAM)).setPaginated(false).setLimit(10).setOffset(0)
+ .setTopic(List.of("singing"))
+ );
+ System.out.println("--- Search Results ---");
+ for (SimpleVideo video : (List<SimpleVideo>) srv) {
+ System.out.println(video.title + " - " + video.channel.name);
+ }
-System.out.println("\n\n\nNow Searching Comments");
-String word = "Mumei";
-Object scr = holodex.searchComment(new CommentSearchQueryBuilder().setOrg(List.of("Hololive")).setComment(List.of(word)).setLimit(1).setPaginated(false));
-System.out.println("--- Search Results for comments containing kw: "+word+" ---");
-for (SimpleCommentVideo video : (List<SimpleCommentVideo>) scr) {
-System.out.println(video.title + " - " + video.channel.name);
-for (Comment comment : video.comments) {
-System.out.println(" "+comment.message);
+ System.out.println("\n\n\nNow Searching Comments");
+ String word = "Mumei";
+ Object scr = holodex.searchComment(new CommentSearchQueryBuilder().setOrg(List.of("Hololive")).setComment(List.of(word)).setLimit(1).setPaginated(false));
+ System.out.println("--- Search Results for comments containing kw: " + word + " ---");
+ for (SimpleCommentVideo video : (List<SimpleCommentVideo>) scr) {
+ System.out.println(video.title + " - " + video.channel.name);
+ for (Comment comment : video.comments) {
+ System.out.println(" " + comment.message);
+ }
+ }
+ } catch (HolodexException ex) {
+ throw new RuntimeException(ex);
+ }
+
+
+ }
}
+
```
## Download
diff --git a/src/main/java/App.java b/src/main/java/App.java
index 9c95c3d..65beef4 100644
--- a/src/main/java/App.java
+++ b/src/main/java/App.java
@@ -1,20 +1,19 @@
import com.pinapelz.Holodex;
import com.pinapelz.HolodexException;
import com.pinapelz.datatypes.*;
+import com.pinapelz.vtuber.*;
import com.pinapelz.query.*;
import java.util.List;
-public class App
-{
- public static void main( String[] args )
- {
+public class App {
+ public static void main(String[] args) {
try {
- Holodex holodex = new Holodex("YOUR_API_KEY");
+ Holodex holodex = new Holodex("YOUR_API_KEY_HERE");
Channel channel = holodex.getChannel("UC4WvIIAo89_AzGUh1AZ6Dkg");
System.out.println(channel.name + " is a member of " + channel.org + " and has " + channel.suborg + " as a suborg");
- VideoQueryBuilder liveVideoQuery = new VideoQueryBuilder().setStatus("live").setOrg("Hololive");
+ VideoQueryBuilder liveVideoQuery = new VideoQueryBuilder().setStatus(Status.LIVE).setOrg(Organization.HOLOLIVE);
List<SimpleVideo> currentlyLiveVideos = holodex.getLiveAndUpcomingVideos(liveVideoQuery);
System.out.println("Currently there are " + currentlyLiveVideos.size() + " livestreams on going in Hololive");
@@ -23,17 +22,17 @@ public class App
}
ChannelQueryBuilder channelQuery = new ChannelQueryBuilder();
- channelQuery.setOrg("Nijisanji");
+ channelQuery.setOrg(Organization.NIJISANJI);
channelQuery.setLimit(75);
List<Channel> nijisanjiMembers = holodex.getChannels(channelQuery);
- Video anotherVideo = holodex.getVideo(new VideoByVideoIdQueryBuilder().setVideoId("9-O_IWM3184").setLang("en"));
+ Video anotherVideo = holodex.getVideo(new VideoByVideoIdQueryBuilder().setVideoId("9-O_IWM3184").setLang(Language.ENGLISH));
System.out.println(anotherVideo.channel.name + " uploaded a video titled " + anotherVideo.title +
" on " + anotherVideo.published_at);
// SEARCHING THROUGH VIDEOS AND COMMENTS
- Object srv = holodex.searchVideo(new VideoSearchQueryBuilder().setOrg(List.of("Nijisanji")).setSort("newest").
- setTarget(List.of("stream")).setPaginated(false).setLimit(10).setOffset(0)
+ Object srv = holodex.searchVideo(new VideoSearchQueryBuilder().setOrg(List.of("Nijisanji")).setSort(Sort.NEWEST).
+ setTarget(List.of(Type.STREAM)).setPaginated(false).setLimit(10).setOffset(0)
.setTopic(List.of("singing"))
);
System.out.println("--- Search Results ---");
@@ -41,21 +40,20 @@ public class App
System.out.println(video.title + " - " + video.channel.name);
}
-
System.out.println("\n\n\nNow Searching Comments");
String word = "Mumei";
Object scr = holodex.searchComment(new CommentSearchQueryBuilder().setOrg(List.of("Hololive")).setComment(List.of(word)).setLimit(1).setPaginated(false));
- System.out.println("--- Search Results for comments containing kw: "+word+" ---");
+ System.out.println("--- Search Results for comments containing kw: " + word + " ---");
for (SimpleCommentVideo video : (List<SimpleCommentVideo>) scr) {
System.out.println(video.title + " - " + video.channel.name);
for (Comment comment : video.comments) {
- System.out.println(" "+comment.message);
+ System.out.println(" " + comment.message);
}
}
} catch (HolodexException ex) {
throw new RuntimeException(ex);
}
- }
+ }
}
diff --git a/src/main/java/com/pinapelz/vtuber/ExtraData.java b/src/main/java/com/pinapelz/vtuber/ExtraData.java
new file mode 100644
index 0000000..75d466d
--- /dev/null
+++ b/src/main/java/com/pinapelz/vtuber/ExtraData.java
@@ -0,0 +1,13 @@
+package com.pinapelz.vtuber;
+
+public class ExtraData {
+ public static final String CLIPS = "clips";
+ public static final String REFERS = "refers";
+ public static final String SOURCES = "sources";
+ public static final String SIMULCASTS = "simulcasts";
+ public static final String MENTIONS = "mentions";
+ public static final String DESCRIPTION = "description";
+ public static final String LIVE_INFO = "live_info";
+ public static final String CHANNEL_STATS = "channel_stats";
+ public static final String SONGS = "songs";
+}
diff --git a/src/main/java/com/pinapelz/vtuber/Language.java b/src/main/java/com/pinapelz/vtuber/Language.java
new file mode 100644
index 0000000..0fb6c20
--- /dev/null
+++ b/src/main/java/com/pinapelz/vtuber/Language.java
@@ -0,0 +1,12 @@
+package com.pinapelz.vtuber;
+
+public class Language {
+ public static final String ENGLISH = "en";
+ public static final String JAPANESE = "jp";
+ public static final String SPANISH = "es";
+ public static final String CHINESE = "zh";
+ public static final String KOREAN = "ko";
+ public static final String FRENCH = "fr";
+ public static final String INDONESIAN = "id";
+ public static final String RUSSIAN = "ru";
+}
diff --git a/src/main/java/com/pinapelz/vtuber/Order.java b/src/main/java/com/pinapelz/vtuber/Order.java
new file mode 100644
index 0000000..0dda236
--- /dev/null
+++ b/src/main/java/com/pinapelz/vtuber/Order.java
@@ -0,0 +1,6 @@
+package com.pinapelz.vtuber;
+
+public class Order {
+ public static final String ASC = "asc";
+ public static final String DESC = "desc";
+}
diff --git a/src/main/java/com/pinapelz/vtuber/Organization.java b/src/main/java/com/pinapelz/vtuber/Organization.java
new file mode 100644
index 0000000..c1256f2
--- /dev/null
+++ b/src/main/java/com/pinapelz/vtuber/Organization.java
@@ -0,0 +1,83 @@
+package com.pinapelz.vtuber;
+
+public class Organization {
+ public static final String HOLOLIVE = "Hololive";
+ public static final String NIJISANJI = "Nijisanji";
+ public static final String INDEPENDENT = "Independent";
+ public static final String DOT_LIVE = ".LIVE";
+ public static final String INC_774 = "774inc";
+ public static final String AOGIRI_HIGHSCHOOL = "Aogiri Highschool";
+ public static final String ATELIER_LIVE = "Atelier Live";
+ public static final String AXEL_V = "Axel-V";
+ public static final String AETHERIA = "Aetheria";
+ public static final String AKIO_AIR = "AkioAir";
+ public static final String CHUKORARA = "Chukorara";
+ public static final String CLOUD_HORIZON = "Cloud Horizon";
+ public static final String CONNECTOPIA = "Connectopia";
+ public static final String EILENE_FAMILY = "Eilene Family";
+ public static final String EMOECHI = "Emoechi";
+ public static final String EIEN_PROJECT = "Eien Project";
+ public static final String GUILD_CQ = "Guild CQ";
+ public static final String HOSHIMEGURI_GAKUEN = "Hoshimeguri Gakuen";
+ public static final String HDOT_LIVE = "H.Live";
+ public static final String IRIDORI = "Iridori";
+ public static final String IDOL_CORP = "idol Corp";
+ public static final String KAMITSUBAKI = "KAMITSUBAKI";
+ public static final String KIZUNA_AI = "Kizuna AI Inc.";
+ public static final String KAWAII_MUSIC = "KAWAII MUSIC";
+ public static final String KEMOMIMI_REFLEX = "KEMOMIMI REFLE";
+ public static final String KEMONO_FRIENDS = "Kemono Friends";
+ public static final String LA_PECHE_PARTY = "La Peche Party";
+ public static final String MARBL_S = "Marbl_s";
+ public static final String MASQUERADE = "Masquerade";
+ public static final String MAHA5 = "MAHA5";
+ public static final String MYHOLO_TV = "MyHolo TV";
+ public static final String MERIDIAN_PROJECT = "Meridian Project";
+ public static final String NORI_PRO = "Nori Pro";
+ public static final String NIJIGEN = "NIJIGEN";
+ public static final String NEO_PORTE = "Neo-Porte";
+ public static final String NKSHOUJO = "NKShouji";
+ public static final String NANAHOLIC = "Nanaholic";
+ public static final String PRODUCTION_KAWAII = "Production Kawaii";
+ public static final String POLYGON = "Polygon";
+ public static final String PHASE_CONNECT = "Phase Connect";
+ public static final String PIXELA_PROJECT = "Pixela Project";
+ public static final String PRISM = "PRISM";
+ public static final String PROPRO = "ProPro";
+ public static final String PINK_PUNK_PRO = "Pink Punk Pro";
+ public static final String RIOT_MUSIC = "Riot Music";
+ public static final String REACT = "ReAcT";
+ public static final String REMEMORIES = "ReMemories";
+ public static final String REVOLUTION_HEART = "Revolution Heart";
+ public static final String RENEW_LIVE = "RenewLive";
+ public static final String SLEEP_MONSTER = "Sleep Monster";
+ public static final String SQUARE_LIVE = "Square Live";
+ public static final String SNACKNILIVE = "Snacknili";
+ public static final String SHINSOGUMI = "Shinosogumi";
+ public static final String SHEERMUSICV = " SheerMusicV (シアーミュージックV) ";
+ public static final String SEDAI_ONE = "Sedai One";
+ public static final String TSUNDERIA = "Tsunderia";
+ public static final String TWITCH_INDEPENDENTS = "Twitch Independents";
+ public static final String THE_BOX = "The Box";
+ public static final String UNREAL_NIGHT_GIRLS = "Unreal Night Girls";
+ public static final String V_DIMENSION_DOT_CREATORS = "V Dimension.Creators";
+ public static final String VOICE_ORE = "VOICE-ORE";
+ public static final String V_AND_U = "V&U";
+ public static final String VIVID = "ViViD";
+ public static final String VOMS = "VOMS";
+ public static final String VSHOJO = "VShojo";
+ public static final String VSPO = "VSpo";
+ public static final String VARIUM = "Varium";
+ public static final String VREVERIE = "VReverie";
+ public static final String VEE = "VEE";
+ public static final String WACTOR = "WACTOR";
+ public static final String WAK_ENTERTAINMENT = "WAK Entertainment";
+ public static final String X_ENCOUNT = "X enc'ount";
+ public static final String XTREME_DEEP_FIELD_PROJECT = "Xtreme Deep Field Project";
+ public static final String YUNI_CREATE = "Yuni Create";
+ public static final String YUMELIVE = "YumeLive";
+
+
+
+
+}
diff --git a/src/main/java/com/pinapelz/vtuber/Sort.java b/src/main/java/com/pinapelz/vtuber/Sort.java
new file mode 100644
index 0000000..c58b94d
--- /dev/null
+++ b/src/main/java/com/pinapelz/vtuber/Sort.java
@@ -0,0 +1,9 @@
+package com.pinapelz.vtuber;
+
+public class Sort {
+ public static final String NEWEST = "newest";
+ public static final String START_SCHEDULED = "start_scheduled";
+ public static final String START_ACTUAL = "start_actual";
+ public static final String END_ACTUAL = "end_actual";
+
+}
diff --git a/src/main/java/com/pinapelz/vtuber/Status.java b/src/main/java/com/pinapelz/vtuber/Status.java
new file mode 100644
index 0000000..a9b5876
--- /dev/null
+++ b/src/main/java/com/pinapelz/vtuber/Status.java
@@ -0,0 +1,9 @@
+package com.pinapelz.vtuber;
+
+public class Status {
+ public static final String LIVE = "live";
+ public static final String UPCOMING = "upcoming";
+ public static final String PAST = "past";
+ public static final String MISSING = "missing";
+ public static final String ALL = "all";
+}
diff --git a/src/main/java/com/pinapelz/vtuber/Type.java b/src/main/java/com/pinapelz/vtuber/Type.java
new file mode 100644
index 0000000..bb69ef4
--- /dev/null
+++ b/src/main/java/com/pinapelz/vtuber/Type.java
@@ -0,0 +1,6 @@
+package com.pinapelz.vtuber;
+
+public class Type {
+ public static final String STREAM = "stream";
+ public static final String CLIP = "clip";
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage