Update release.js
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user