Files
anixart-extension/api/v1/src/profile.js
2025-05-05 01:29:12 +05:00

56 lines
1.6 KiB
JavaScript

const axios = require('axios');
// Функция для запроса профиля Anixart
async function getProfileFromAnixart(profileId, token = '') {
const url = `https://api.anixart.tv/profile/${profileId}${token ? `?token=${token}` : ''}`;
try {
const response = await axios.get(url);
const profileData = response.data;
let isVerified = false;
// Проверка верификации
try {
const verifiedResponse = await axios.get('https://anixart.seele.su/api/is_verified');
const verifiedList = verifiedResponse.data;
if (Array.isArray(verifiedList) && verifiedList.includes(profileId.toString())) {
isVerified = true;
profileData.profile.is_verified = true;
}
} catch {
// Ошибку верификации игнорируем
}
// Подгружаем кастомные роли
try {
const rolesResponse = await axios.get('https://anixart.seele.su/api/is_roles');
const rolesList = rolesResponse.data;
const userRoles = rolesList.find(entry => entry.id === Number(profileId));
if (userRoles && Array.isArray(userRoles.roles)) {
profileData.profile.roles = userRoles.roles;
}
} catch {
// Ошибку загрузки ролей игнорируем
}
// // Тестовое поле privilege_level (можно отключить)
// profileData.profile.privilege_level = 0;
return {
...profileData,
is_verified: isVerified,
};
} catch {
return {
code: 2,
profile: null,
is_my_profile: false,
};
}
}
module.exports = { getProfileFromAnixart };