diff --git a/api/v1/src/release.js b/api/v1/src/release.js
index b853fcb..dac74ae 100644
--- a/api/v1/src/release.js
+++ b/api/v1/src/release.js
@@ -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 += `Примечание от Anixart:
${originalNote}
`;
- }
+ let newNote = originalNote ? `Примечание от Anixart:
${originalNote}
` : '';
// Добавляем оценку Shikimori
- if (shikimoriScore !== 'N/A') {
+ if (shikimoriAnime && shikimoriScore !== 'N/A') {
newNote += `${newNote ? '
' : ''}Оценка Shikimori: ${shikimoriScore}
`;
}
@@ -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) {