Update release.ts

This commit is contained in:
2025-05-12 16:42:58 +05:00
committed by GitHub
parent 59119bc103
commit 9f956d8cd6

View File

@@ -5,9 +5,10 @@ const baseHeaders = {
"Accept": "application/json", "Accept": "application/json",
}; };
// Функция для получения данных из Shikimori
async function getShikimoriData(search, year) { async function getShikimoriData(search, year) {
if (!search) { 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}` : ""}`; 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]; const anime = animeData?.[0];
if (!anime || !anime.id) { 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`; const rolesUrl = `https://shikimori.one/api/animes/${anime.id}/roles`;
@@ -34,11 +35,37 @@ async function getShikimoriData(search, year) {
})); }));
return { return {
score: anime.score || "N/A", myAnimeListScore: anime.score || "N/A", // Оценка с MyAnimeList (основная)
shikimoriScore: anime.rating || "N/A", // Оценка с Shikimori (вторая)
characters: mainCharacters, characters: mainCharacters,
}; };
} catch { } 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 || ""; const year = release.year || "";
let noteExtra = ""; let noteExtra = "";
try { // Получаем данные из Shikimori
const shikiData = await getShikimoriData(title, year); let shikiData = await getShikimoriData(title, year);
const score = shikiData.score || "N/A"; let shikiScore = shikiData.shikimoriScore || "N/A";
const characters = shikiData.characters.length let myAnimeListScore = shikiData.myAnimeListScore || "N/A";
let characters = shikiData.characters.length
? shikiData.characters.map((c) => `<a href="${c.url}">${c.name}</a>`).join(", ") ? shikiData.characters.map((c) => `<a href="${c.url}">${c.name}</a>`).join(", ")
: "N/A"; : "N/A";
noteExtra = `<b>Оценки из Shikimori:</b> ${score}★<br><b>Главные персонажи:</b> ${characters}<br>`; // Формируем дополнительную информацию
} catch { noteExtra = `<b>Оценки из MyAnimeList:</b> ${myAnimeListScore}★<br><b>Оценки из Shikimori:</b> ${shikiScore}★<br><b>Главные персонажи из Shikimori:</b> ${characters}<br>`;
noteExtra = `<b>Оценки из Shikimori:</b> N/A<br><b>Главные персонажи:</b> N/A<br>`;
}
const originalNote = release.note?.trim(); const originalNote = release.note?.trim();
let finalNote = noteExtra; let finalNote = noteExtra;