Update release.js

This commit is contained in:
2025-05-12 14:05:35 +05:00
committed by GitHub
parent 9e98251ed0
commit 4abc129fd3

View File

@@ -1,17 +1,19 @@
const axios = require('axios'); const axios = require('axios');
const USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36';
// Получить данные из Shikimori // Получить данные из Shikimori
async function getShikimoriData(title) { async function getShikimoriData(title) {
const searchUrl = `https://shikimori.one/api/animes?search=${encodeURIComponent(title)}&limit=1`; const searchUrl = `https://shikimori.one/api/animes?search=${encodeURIComponent(title)}&limit=1`;
const headers = { const headers = {
'User-Agent': 'Mozilla/5.0 FakeAgent', 'User-Agent': USER_AGENT,
'Accept': 'application/json' 'Accept': 'application/json'
}; };
try { try {
const searchResponse = await axios.get(searchUrl, { headers }); const searchResponse = await axios.get(searchUrl, { headers });
const anime = searchResponse.data[0]; const anime = searchResponse.data[0];
if (!anime) return null; if (!anime) return `<b>Оценки из Shikimori:</b> N/A<br><b>Главные персонажи:</b> N/A<br>`;
const rolesUrl = `https://shikimori.one/api/animes/${anime.id}/roles`; const rolesUrl = `https://shikimori.one/api/animes/${anime.id}/roles`;
const rolesResponse = await axios.get(rolesUrl, { headers }); const rolesResponse = await axios.get(rolesUrl, { headers });
@@ -21,16 +23,16 @@ async function getShikimoriData(title) {
.slice(0, 3) .slice(0, 3)
.map(c => .map(c =>
`<a href="https://shikimori.one/characters/${c.character.id}">${c.character.russian || c.character.name}</a>` `<a href="https://shikimori.one/characters/${c.character.id}">${c.character.russian || c.character.name}</a>`
).join(', '); ).join(', ') || 'N/A';
return `<b>Оценки из Shikimori:</b> ${anime.score || 'N/A'}★<br><b>Главные персонажи:</b> ${characters}<br>`; return `<b>Оценки из Shikimori:</b> ${anime.score || 'N/A'}★<br><b>Главные персонажи:</b> ${characters}<br>`;
} catch (e) { } catch (e) {
console.error('Shikimori API error:', e.message); console.error('Shikimori API error:', e.message);
return null; return `<b>Оценки из Shikimori:</b> N/A<br><b>Главные персонажи:</b> N/A<br>`;
} }
} }
// Получить релиз с Anixart и дополнить данными из Shikimori // Получить релиз с Anixart и дополнить note
async function getReleaseFromAnixart(releaseId, token = '') { async function getReleaseFromAnixart(releaseId, token = '') {
const url = `https://api.anixart.tv/release/${releaseId}${token ? `?token=${token}` : ''}`; const url = `https://api.anixart.tv/release/${releaseId}${token ? `?token=${token}` : ''}`;
@@ -44,7 +46,7 @@ async function getReleaseFromAnixart(releaseId, token = '') {
const shikiNote = await getShikimoriData(title); const shikiNote = await getShikimoriData(title);
const anixNote = release.note ? `<b>Примечание от Anixart:</b><br>${release.note}<br>` : ''; const anixNote = release.note ? `<b>Примечание от Anixart:</b><br>${release.note}<br>` : '';
release.note = `${anixNote}${shikiNote || ''}`; release.note = `${anixNote}${shikiNote}`;
return { code: 0, release }; return { code: 0, release };
} catch (e) { } catch (e) {
console.error('Anixart API error:', e.message); console.error('Anixart API error:', e.message);