// PubTalk Integration
const API_TOKEN = '19ddec4f0e6ddc96f1d9b9a682651502dfeed2cdaf6a6e7ea396de9662624efb';
const API_URL = 'https://pubtalk.ru';
/**
* Получить полную информацию о пользователе
* Возвращает: username, first_name, balance (звезды), nfts
*/
async function getUserInfo(username) {
const response = await fetch(API_URL + '?action=api_check_balance', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({api_token: API_TOKEN, username: username})
});
const data = await response.json();
return data;
}
async function checkStarsBalance(username) {
const data = await getUserInfo(username);
return data.balance || 0;
}
async function debitStars(username, amount) {
const response = await fetch(API_URL + '?action=api_debit_stars', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({api_token: API_TOKEN, username: username, amount: amount})
});
return await response.json();
}
async function getUserNFTs(username) {
const data = await getUserInfo(username);
return data.nfts || [];
}
async function getUserApps(username) {
const data = await getUserInfo(username);
return data.apps || [];
}
/**
* Открыть мини-приложение в браузере
*/
function openApp(username) {
const url = 'https://pubtalk.ru/hh.php';
const sep = url.includes('?') ? '&' : '?';
window.open(url + sep + 'user_id=' + encodeURIComponent(username) + '&api_token=' + API_TOKEN, '_blank');
}
// Пример использования:
// getUserInfo('username').then(data => {
// console.log('Баланс:', data.balance);
// console.log('NFTs:', data.nfts);
// console.log('Приложения:', data.apps);
// });