Feat: provide Groups, Characters, Series

This commit is contained in:
2025-06-12 03:32:32 +09:00
parent 05262283f8
commit a5c14e79a2
3 changed files with 100 additions and 4 deletions

View File

@@ -79,9 +79,12 @@ class BotListener extends ListenerAdapter {
}
EmbedBuilder eb = new EmbedBuilder();
eb.setTitle(hitomiData.getTitle()).setUrl("https://hitomi.la/reader/"+id+".html");
eb.setTitle(hitomiData.getTitle()).setUrl("https://hitomi.la/reader/"+hitomiData.getId()+".html");
eb.appendDescription("품번: `" + hitomiData.getId() + "`\n");
eb.appendDescription("작가: `" + hitomiData.getArtistsAsString() + "`\n");
eb.appendDescription("그룹: `" + hitomiData.getGroupsAsString() + "`\n");
eb.appendDescription("캐릭터: `" + hitomiData.getCharactersAsString() + "`\n");
eb.appendDescription("시리즈: `" + hitomiData.getParodysAsString() + "`\n");
eb.appendDescription("종류: `" + hitomiData.getType() + "`\n");
eb.appendDescription("태그: `" + hitomiData.getTagsAsString() + "`");

View File

@@ -20,6 +20,9 @@ public class Hitomi {
JsonNode rootNode;
ArrayList<String> imageHashList = new ArrayList<>();
ArrayList<String> artists = new ArrayList<>();
ArrayList<String> groups = new ArrayList<>();
ArrayList<String> characters = new ArrayList<>();
ArrayList<String> parodys = new ArrayList<>();
ArrayList<String> femaleTag = new ArrayList<>();
ArrayList<String> maleTag = new ArrayList<>();
ArrayList<String> normalTag = new ArrayList<>();
@@ -73,9 +76,30 @@ public class Hitomi {
artists.add(artist);
}
for (JsonNode node : rootNode.get("groups")) {
String group = node.get("group").asText();
groups.add(group);
}
for (JsonNode node : rootNode.get("characters")) {
String character = node.get("character").asText();
characters.add(character);
}
for (JsonNode node : rootNode.get("parodys")) {
String parody = node.get("parody").asText();
parodys.add(parody);
}
HitomiDTO galleryData = new HitomiDTO(rootNode.get("title").asText(),
galleryId,
artists,
groups,
characters,
parodys,
rootNode.get("type").asText(),
rootNode.get("language").asText(),
imageHashList,
@@ -149,8 +173,11 @@ public class Hitomi {
}
public static void main(String[] args) {
HitomiDTO test = GetHitomiData(2154225);
HitomiDTO test = GetHitomiData(2997822);
System.out.println(test.getTagsAsString());
System.out.println(test.getArtistsAsString());
System.out.println(test.getGroupsAsString());
System.out.println(test.getCharactersAsString());
System.out.println(test.getParodysAsString());
}
}

View File

@@ -10,14 +10,29 @@ public class HitomiDTO {
private String type;
private String language;
private ArrayList<String> imageHashList;
private ArrayList<String> groups;
private ArrayList<String> characters;
private ArrayList<String> parodys;
private Map<String, ArrayList<String>> tags;
public HitomiDTO() {}
public HitomiDTO(String title, int id, ArrayList<String> artists, String type, String language, ArrayList<String> imageHashList, Map<String, ArrayList<String>> tags) {
public HitomiDTO(String title,
int id,
ArrayList<String> artists,
ArrayList<String> groups,
ArrayList<String> characters,
ArrayList<String> parodys,
String type,
String language,
ArrayList<String> imageHashList,
Map<String, ArrayList<String>> tags) {
this.title = title;
this.id = id;
this.artists = artists;
this.groups = groups;
this.characters = characters;
this.parodys = parodys;
this.type = type;
this.language = language;
this.imageHashList = imageHashList;
@@ -41,7 +56,7 @@ public class HitomiDTO {
return tags.substring(0, tags.length() - 2);
}
public String getArtistsAsString() {
public String getArtistsAsString() { // Penciller
String artists = "";
if (this.artists.isEmpty()) return "N/A";
if (this.artists.size() == 1) return this.artists.get(0);
@@ -49,6 +64,33 @@ public class HitomiDTO {
for (String artist : this.artists) artists += artist + ", ";
return artists.substring(0, artists.length() - 2);
}
public String getGroupsAsString() { // Writer
String groups = "";
if (this.groups.isEmpty()) return "N/A";
if (this.groups.size() == 1) return this.groups.get(0);
for (String group : this.groups) groups += group + ", ";
return groups.substring(0, groups.length() - 2);
}
public String getCharactersAsString() { // Characters
String characters = "";
if (this.characters.isEmpty()) return "N/A";
if (this.characters.size() == 1) return this.characters.get(0);
for (String character : this.characters) characters += character + ", ";
return characters.substring(0, characters.length() - 2);
}
public String getParodysAsString() { // Series
String parodys = "";
if (this.parodys.isEmpty()) return "N/A";
if (this.parodys.size() == 1) return this.parodys.get(0);
for (String parody : this.parodys) parodys += parody + ", ";
return parodys.substring(0, parodys.length() - 2);
}
public String getTitle() {
return title;
@@ -73,6 +115,30 @@ public class HitomiDTO {
public void setArtists(ArrayList<String> artists) {
this.artists = artists;
}
public ArrayList<String> getGroups() {
return groups;
}
public void setGroups(ArrayList<String> groups) {
this.groups = groups;
}
public ArrayList<String> getCharacters() {
return characters;
}
public void setCharacters(ArrayList<String> characters) {
this.characters = characters;
}
public ArrayList<String> getParodys() {
return parodys;
}
public void setParodys(ArrayList<String> parodys) {
this.parodys = parodys;
}
public String getType() {
return type;