57 lines
1.7 KiB
JavaScript
57 lines
1.7 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;
|
|
// profileData.profile.status = "Я Falkor!";
|
|
|
|
return {
|
|
...profileData,
|
|
is_verified: isVerified,
|
|
};
|
|
} catch {
|
|
return {
|
|
code: 2,
|
|
profile: null,
|
|
is_my_profile: false,
|
|
};
|
|
}
|
|
}
|
|
|
|
module.exports = { getProfileFromAnixart };
|