diff --git a/api/v1/src/release.ts b/api/v1/src/release.ts
index 2aab64a..694b00c 100644
--- a/api/v1/src/release.ts
+++ b/api/v1/src/release.ts
@@ -5,9 +5,10 @@ const baseHeaders = {
"Accept": "application/json",
};
+// Функция для получения данных из Shikimori
async function getShikimoriData(search, year) {
if (!search) {
- return { score: "N/A", characters: [] };
+ return { myAnimeListScore: "N/A", shikimoriScore: "N/A", characters: [] };
}
const animeUrl = `https://shikimori.one/api/animes?search=${encodeURIComponent(search)}&limit=1${year ? `&year=${year}` : ""}`;
@@ -18,7 +19,7 @@ async function getShikimoriData(search, year) {
const anime = animeData?.[0];
if (!anime || !anime.id) {
- return { score: "N/A", characters: [] };
+ return { myAnimeListScore: "N/A", shikimoriScore: "N/A", characters: [] };
}
const rolesUrl = `https://shikimori.one/api/animes/${anime.id}/roles`;
@@ -34,11 +35,37 @@ async function getShikimoriData(search, year) {
}));
return {
- score: anime.score || "N/A",
+ myAnimeListScore: anime.score || "N/A", // Оценка с MyAnimeList (основная)
+ shikimoriScore: anime.rating || "N/A", // Оценка с Shikimori (вторая)
characters: mainCharacters,
};
} catch {
- return { score: "N/A", characters: [] };
+ return { myAnimeListScore: "N/A", shikimoriScore: "N/A", characters: [] };
+ }
+}
+
+// Функция для получения данных из MyAnimeList
+async function getMyAnimeListData(search) {
+ if (!search) {
+ return { score: "N/A" };
+ }
+
+ const malUrl = `https://api.jikan.moe/v4/anime?q=${encodeURIComponent(search)}&limit=1`;
+
+ try {
+ const malRes = await fetch(malUrl);
+ const malData = await malRes.json();
+ const malAnime = malData?.data?.[0];
+
+ if (!malAnime) {
+ return { score: "N/A" };
+ }
+
+ return {
+ score: malAnime.rating || "N/A", // Оценка с MyAnimeList
+ };
+ } catch {
+ return { score: "N/A" };
}
}
@@ -58,17 +85,16 @@ async function getReleaseFromAnixart(releaseId, token = "") {
const year = release.year || "";
let noteExtra = "";
- try {
- const shikiData = await getShikimoriData(title, year);
- const score = shikiData.score || "N/A";
- const characters = shikiData.characters.length
- ? shikiData.characters.map((c) => `${c.name}`).join(", ")
- : "N/A";
+ // Получаем данные из Shikimori
+ let shikiData = await getShikimoriData(title, year);
+ let shikiScore = shikiData.shikimoriScore || "N/A";
+ let myAnimeListScore = shikiData.myAnimeListScore || "N/A";
+ let characters = shikiData.characters.length
+ ? shikiData.characters.map((c) => `${c.name}`).join(", ")
+ : "N/A";
- noteExtra = `Оценки из Shikimori: ${score}★
Главные персонажи: ${characters}
`;
- } catch {
- noteExtra = `Оценки из Shikimori: N/A
Главные персонажи: N/A
`;
- }
+ // Формируем дополнительную информацию
+ noteExtra = `Оценки из MyAnimeList: ${myAnimeListScore}★
Оценки из Shikimori: ${shikiScore}★
Главные персонажи из Shikimori: ${characters}
`;
const originalNote = release.note?.trim();
let finalNote = noteExtra;