Update release.js

This commit is contained in:
2025-05-12 13:31:54 +05:00
committed by GitHub
parent ad2f074a9a
commit 7e8f5596bf

View File

@@ -26,14 +26,17 @@ async function scheduleFetchNotes() {
scheduleFetchNotes(); scheduleFetchNotes();
// Функция для поиска аниме в Shikimori по названию // Функция для поиска аниме в Shikimori по названию
async function searchShikimoriAnime(title) { async function searchShikimoriAnime(titleOriginal, titleRu, year) {
try { try {
if (!title) return null; // Пробуем искать по title_original
let searchQuery = titleOriginal || titleRu;
if (!searchQuery) return null;
const response = await axios.get('https://shikimori.one/api/animes', { const response = await axios.get('https://shikimori.one/api/animes', {
params: { params: {
search: encodeURIComponent(title), search: encodeURIComponent(searchQuery),
limit: 1, limit: 1,
year: year || undefined, // Добавляем фильтр по году, если он есть
}, },
headers: { headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
@@ -41,7 +44,25 @@ async function searchShikimoriAnime(title) {
timeout: 5000, timeout: 5000,
}); });
return response.data[0] || null; let anime = response.data[0] || null;
// Если не нашли по title_original, пробуем title_ru
if (!anime && titleRu && titleRu !== titleOriginal) {
const responseRu = await axios.get('https://shikimori.one/api/animes', {
params: {
search: encodeURIComponent(titleRu),
limit: 1,
year: year || undefined,
},
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
},
timeout: 5000,
});
anime = responseRu.data[0] || null;
}
return anime;
} catch (error) { } catch (error) {
return null; return null;
} }
@@ -82,11 +103,13 @@ async function getReleaseFromAnixart(releaseId, token = '') {
const noteEntry = cachedNotes.find(entry => entry.id === Number(releaseId)); const noteEntry = cachedNotes.find(entry => entry.id === Number(releaseId));
const originalNote = noteEntry ? noteEntry.note : ''; const originalNote = noteEntry ? noteEntry.note : '';
// Извлекаем название релиза (используем title_original, как в старом коде) // Извлекаем данные для поиска
const title = releaseData.release.title_original || ''; const titleOriginal = releaseData.release.title_original || '';
const titleRu = releaseData.release.title_ru || '';
const year = releaseData.release.year || '';
// Ищем аниме в Shikimori по названию // Ищем аниме в Shikimori
const shikimoriAnime = await searchShikimoriAnime(title); const shikimoriAnime = await searchShikimoriAnime(titleOriginal, titleRu, year);
let shikimoriScore = 'N/A'; let shikimoriScore = 'N/A';
let characters = []; let characters = [];