const axios = require('axios');
// Получить данные из Shikimori
async function getShikimoriData(title) {
const searchUrl = `https://shikimori.one/api/animes?search=${encodeURIComponent(title)}&limit=1`;
const headers = {
'User-Agent': 'Mozilla/5.0 FakeAgent',
'Accept': 'application/json'
};
try {
const searchResponse = await axios.get(searchUrl, { headers });
const anime = searchResponse.data[0];
if (!anime) return null;
const rolesUrl = `https://shikimori.one/api/animes/${anime.id}/roles`;
const rolesResponse = await axios.get(rolesUrl, { headers });
const characters = rolesResponse.data
.filter(c => c.roles.includes('Main'))
.slice(0, 3)
.map(c =>
`${c.character.russian || c.character.name}`
).join(', ');
return `Оценки из Shikimori: ${anime.score || 'N/A'}★
Главные персонажи: ${characters}
`;
} catch (e) {
console.error('Shikimori API error:', e.message);
return null;
}
}
// Получить релиз с Anixart и дополнить данными из Shikimori
async function getReleaseFromAnixart(releaseId, token = '') {
const url = `https://api.anixart.tv/release/${releaseId}${token ? `?token=${token}` : ''}`;
try {
const response = await axios.get(url);
const release = response.data.release;
if (!release) return { code: 1, release: null };
const title = release.title_original || release.title_ru || '';
const shikiNote = await getShikimoriData(title);
const anixNote = release.note ? `Примечание от Anixart:
${release.note}
` : '';
release.note = `${anixNote}${shikiNote || ''}`;
return { code: 0, release };
} catch (e) {
console.error('Anixart API error:', e.message);
return { code: 2, release: null };
}
}
module.exports = { getReleaseFromAnixart };