Xatools by 3men2

Ferramentas para Xat

@Marv (1997)
xat.com ↗

API pública do Xatools para o xat

API pública do Xatools: powers, preços, peões, stickers e contagem do xat

JSON gratuito e sem registo para o teu site, bot ou app. Os dados são lidos diretamente do xat.com a cada 5 minutos (cada power novo é detetado automaticamente) e completados com os preços de trade do fair-trade. CORS aberto, respostas em cache 5 minutos.

Estado A verificar…
URL basehttps://api.xatools.net/v1
LimitesUso razoável: 120 pedidos/min por IP. Guarda as respostas em cache (mudam a cada 5 min).
AtribuiçãoLink para xatools.net · dados: xat.com · preços: fair-trade.

Testar ao vivo

Corre no teu navegador contra a API real
api.xatools.net/v1/
Pulsa «Consultar» o elige un ejemplo.

Endpoints

Todos respondem JSON com code: 200 y updated (unix) da última atualização. Adiciona ?pretty para o ver formatado. Os nomes de power não distinguem maiúsculas.

GET/v1/latestÚltimo power com ficha completa, contagem do próximo e os 14 mais recentes

Campos: latest (ficha completa, ver /v1/power), countdown (ver /v1/countdown), recent[] (resumo), stickers[] (últimos powers com stickers).

GET/v1/countdownContagem do próximo power (só anúncios reais)

status: announced (anúncio oficial do xat), manual (fixado pela equipa do Xatools), ou none (sin anuncio: no se estima ni se predice nada) o released (lanzado en las últimas 12 h). time (unix), iso, seconds_left, power (id y nombre si xat lo indica), max_per_user, amount, last (último power), median_interval_days. Announce.php se lee cada 60 s (relay propio), así que el contador aparece en cuanto xat lo anuncia; el power nuevo se detecta en ≤2 min y el contador se reinicia solo.

GET/v1/releasesHistórico de lançamentos

announces[] (anuncios de xat registrados: seen, time, power_id, name, max_per_user, amount) y detected[] (cuándo apareció cada power en la tienda). El historial de un power concreto también va en /v1/power/{name} → history[].

GET/v1/powersCatálogo completo (resumo por power)

Parâmetros: q (texto no nome, descrição ou smilies), status (unlimited, limited, epic, collection, subscription), category (group, stickers, ace, hug, game, epic, allpowers, new… ou o nome de uma secção da loja), type (smiley, function, stickers, supers…), limit, offset, full=1 (inclui smilies, peões, stickers, hugs…).

GET/v1/power/{nombre|id}Ficha completa de um power

id, name, status, type, category, short, long, store {xats|days, text}, trade {min, max, min_days, max_days} (fair-trade), released, released_int, categories[], smilies[], pawns[] {name, hat}, stickers[], stickers_total, hugs[], backgrounds[], aces[], effects[], frames[], collection {required[], pawns[], smilies[]}, images {icon, strip80, smiley}.

GET/v1/collections · /v1/collection/{nombre}Coleções (super powers)

Cada coleção: id, name, required[] {id, name} (powers necessários segundo o xat), pawns[] (peões que desbloqueia), smilies[].

GET/v1/pawnsPeões ativos do xat

active[] {key, power_id, name, hat} diretamente do xat (código pronto a usar, p. ex. (hat#hJa)), time (validade) e fair_trade[] como referência.

GET/v1/stickers · /v1/stickers/{power}Powers com stickers e a sua lista
GET/v1/pricesPreço de loja e faixa de trade de todos os powers

Preço de loja segundo o xat.com e faixa de trade segundo o fair-trade, atualizado a cada 6 h.

GET/v1/hugs · /v1/aces · /v1/effects · /v1/backgrounds · /v1/free · /v1/typesHugs, aces, efeitos e frames, fundos por power, smilies grátis, secções da loja
GET/v1/smiley/{código} · /v1/search?q=A que power pertence um smiley · pesquisa rápida
GET/v1/promoted?lang=es · /v1/announce · /v1/statusChats promovidos por idioma · anúncios do xat · estado do serviço
GET/v1/user/{id|nick} · /v1/user/{id|nick}/online · /v1/user/{id|nick}/powersID ↔ nome · está online? · powers, repetidos e faltantes de um usuário

Dados ao vivo do xat.com pelo bot do Xatools. O status fica guardado 1 minuto e os powers 5 minutos; o xat só revela os powers de um usuário quando o bot o vê em um chat (ou responde a uma localização), então pode devolver 404 até lá. Também /v1/room/{chat} (info de uma sala) e /v1/bot (status do bot). Interface web: /usuario/.

Exemplo de uso

// JavaScript (navegador o Node 18+)
const r = await fetch('https://api.xatools.net/v1/latest');
const { latest, countdown } = await r.json();
console.log(latest.name, latest.store.text, latest.smilies);
if (countdown.time) console.log('Próximo power:', new Date(countdown.time * 1000));

// PHP
$j = json_decode(file_get_contents('https://api.xatools.net/v1/power/purple'), true);
echo $j['power']['trade']['min'] . ' - ' . $j['power']['trade']['max'] . ' xats';

// Python
import requests
p = requests.get('https://api.xatools.net/v1/powers', params={'status': 'limited', 'limit': 10}).json()
print([x['name'] for x in p['powers']])

O Xatools não é afiliado ao xat.com. Os dados vêm de fontes públicas do xat.com; preços: fair-trade. Se o teu projeto faz uso intensivo, guarda as respostas em cache pelo menos 5 minutos.

Dados do xat prontos para o teu site, bot de Discord ou app: powers com descrição, preço e estado, coleções com os requisitos, peões ativos com o código, stickers, hugs, aces, chats promovidos e uma contagem do próximo power que se reinicia sozinha quando o xat lança um novo. Lida do xat.com a cada 5 minutos e completada com os preços de trade do fair-trade.

Perguntas frequentes

Preciso de chave?+

Não. A API é pública com CORS. Pedimos apenas uso razoável (cache de pelo menos 5 minutos) e um link para xatools.net.

De onde vêm os dados?+

Dos ficheiros públicos do xat.com lidos a cada 5 minutos e do fair-trade para os preços de trade.

Como funciona a contagem?+

Só aparece quando o xat publica oficialmente uma data (ou quando a equipa do Xatools a define a partir de um anúncio). Nunca se estima nem se prevê: sem anúncio o estado é «sem contagem». Um power novo é detetado em menos de 5 minutos.