Update release.ts

This commit is contained in:
2025-05-12 16:43:39 +05:00
committed by GitHub
parent 9f956d8cd6
commit 3ec302ec3b

View File

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