Update release.js
This commit is contained in:
@@ -1,12 +1,43 @@
|
||||
const axios = require('axios');
|
||||
|
||||
// Простой парсер релиза Anixart
|
||||
// Кэш кастомных заметок
|
||||
let cachedNotes = [];
|
||||
|
||||
// Функция для загрузки заметок из внешнего API
|
||||
async function fetchNotes() {
|
||||
try {
|
||||
const response = await axios.get('https://anixart.seele.su/api/release_note');
|
||||
cachedNotes = Array.isArray(response.data) ? response.data : [];
|
||||
} catch {
|
||||
cachedNotes = [];
|
||||
}
|
||||
}
|
||||
|
||||
// Загружаем заметки сразу при запуске
|
||||
fetchNotes();
|
||||
|
||||
// Обновляем заметки каждые 10 минут
|
||||
setInterval(fetchNotes, 10 * 60 * 1000);
|
||||
|
||||
// Основная функция-парсер
|
||||
async function getReleaseFromAnixart(releaseId, token = '') {
|
||||
const url = `https://api.anixart.tv/release/${releaseId}${token ? `?token=${token}` : ''}`;
|
||||
|
||||
try {
|
||||
const response = await axios.get(url);
|
||||
return response.data;
|
||||
const releaseData = response.data;
|
||||
|
||||
if (!releaseData.release) {
|
||||
releaseData.release = {};
|
||||
}
|
||||
|
||||
// Применяем кастомный note, если он есть
|
||||
const noteEntry = cachedNotes.find(entry => entry.id === Number(releaseId));
|
||||
if (noteEntry) {
|
||||
releaseData.release.note = noteEntry.note;
|
||||
}
|
||||
|
||||
return releaseData;
|
||||
} catch {
|
||||
return {
|
||||
code: 2,
|
||||
|
||||
Reference in New Issue
Block a user