Update release.js
This commit is contained in:
@@ -29,21 +29,21 @@ scheduleFetchNotes();
|
||||
// Функция для поиска аниме в Shikimori по названию
|
||||
async function searchShikimoriAnime(titleRu, titleEn) {
|
||||
try {
|
||||
const searchQuery = titleRu || titleEn; // Используем русское название, если есть, иначе английское
|
||||
const searchQuery = titleRu || titleEn;
|
||||
if (!searchQuery) return null;
|
||||
|
||||
const response = await axios.get('https://shikimori.one/api/animes', {
|
||||
params: {
|
||||
search: searchQuery,
|
||||
limit: 1, // Берем только первое совпадение
|
||||
limit: 1,
|
||||
},
|
||||
headers: {
|
||||
'User-Agent': 'YourAppName', // Замени на имя твоего приложения
|
||||
},
|
||||
timeout: 5000,
|
||||
});
|
||||
|
||||
const anime = response.data[0];
|
||||
if (!anime) return null;
|
||||
|
||||
return anime;
|
||||
return response.data[0] || null;
|
||||
} catch (error) {
|
||||
console.error('Ошибка при поиске аниме в Shikimori:', error.message);
|
||||
return null;
|
||||
@@ -53,12 +53,17 @@ async function searchShikimoriAnime(titleRu, titleEn) {
|
||||
// Функция для получения данных о персонажах с Shikimori
|
||||
async function fetchShikimoriCharacters(animeId) {
|
||||
try {
|
||||
const response = await axios.get(`https://shikimori.one/api/animes/${animeId}/roles`, { timeout: 5000 });
|
||||
const response = await axios.get(`https://shikimori.one/api/animes/${animeId}/roles`, {
|
||||
headers: {
|
||||
'User-Agent': 'YourAppName', // Замени на имя твоего приложения
|
||||
},
|
||||
timeout: 5000,
|
||||
});
|
||||
const characters = response.data
|
||||
.filter(role => role.roles.includes('Main')) // Берем только главных персонажей
|
||||
.filter(role => role.roles.includes('Main'))
|
||||
.map(role => role.character)
|
||||
.filter(char => char && char.name && char.url);
|
||||
return characters.slice(0, 3); // Ограничиваем до 3 персонажей
|
||||
return characters.slice(0, 3);
|
||||
} catch (error) {
|
||||
console.error('Ошибка при запросе персонажей из Shikimori:', error.message);
|
||||
return [];
|
||||
@@ -77,11 +82,13 @@ async function getReleaseFromAnixart(releaseId, token = '') {
|
||||
releaseData.release = {};
|
||||
}
|
||||
|
||||
console.log('releaseData:', releaseData); // Отладка структуры данных
|
||||
|
||||
// Находим оригинальный note от Anixart
|
||||
const noteEntry = cachedNotes.find(entry => entry.id === Number(releaseId));
|
||||
const originalNote = noteEntry ? noteEntry.note : '';
|
||||
|
||||
// Извлекаем названия релиза (предполагаем, что API Anixart возвращает их в releaseData)
|
||||
// Извлекаем названия релиза
|
||||
const titleRu = releaseData.release.name_ru || '';
|
||||
const titleEn = releaseData.release.name_en || '';
|
||||
|
||||
@@ -96,15 +103,10 @@ async function getReleaseFromAnixart(releaseId, token = '') {
|
||||
}
|
||||
|
||||
// Формируем новый note
|
||||
let newNote = '';
|
||||
|
||||
// Добавляем оригинальный note от Anixart, только если он есть
|
||||
if (originalNote) {
|
||||
newNote += `<b>Примечание от Anixart:</b><br>${originalNote}<br>`;
|
||||
}
|
||||
let newNote = originalNote ? `<b>Примечание от Anixart:</b><br>${originalNote}<br>` : '';
|
||||
|
||||
// Добавляем оценку Shikimori
|
||||
if (shikimoriScore !== 'N/A') {
|
||||
if (shikimoriAnime && shikimoriScore !== 'N/A') {
|
||||
newNote += `${newNote ? '<br>' : ''}<b>Оценка Shikimori:</b> ${shikimoriScore}<br>`;
|
||||
}
|
||||
|
||||
@@ -116,10 +118,8 @@ async function getReleaseFromAnixart(releaseId, token = '') {
|
||||
});
|
||||
}
|
||||
|
||||
// Применяем новый note, только если есть что добавить
|
||||
if (newNote) {
|
||||
releaseData.release.note = newNote;
|
||||
}
|
||||
// Применяем note, если есть данные
|
||||
releaseData.release.note = newNote || releaseData.release.note || '';
|
||||
|
||||
return releaseData;
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user