📖 Referência da API

Base URL: https://api.crystalbot.xyz/v1

Todos os endpoints exigem o header Authorization: Bearer <crystal_key> (veja Autenticação). Todas as respostas são JSON com um campo ok indicando sucesso.


GET /v1/stats

Estatísticas gerais e status atual da Crystal.

Resposta

{
  "ok": true,
  "ready": true,
  "users": 48213,
  "servers": 312,
  "commands": 96
}

GET /v1/commands

Lista completa dos comandos ativos da Crystal, com descrição, aliases e categoria.

Resposta

{
  "ok": true,
  "commands": [
    {
      "name": "rubis atm",
      "description": "Ver seu saldo de Rubis",
      "aliases": ["saldo", "bal", "carteira", "wallet"],
      "usage": "/rubis atm",
      "admin": false,
      "premium": false,
      "cog": "Economia"
    }
  ]
}

GET /v1/guild/{guild_id}

Informações básicas e públicas de um servidor onde a Crystal está presente (nome, ícone, quantidade de membros).

Parâmetros de URL

Nome Tipo Descrição
guild_id integer ID do servidor no Discord

Resposta — sucesso

{
  "ok": true,
  "guild": {
    "id": "123456789012345678",
    "name": "Meu Servidor",
    "icon_url": "https://cdn.discordapp.com/icons/.../abc.png",
    "member_count": 542
  }
}

Resposta — servidor não encontrado (404)

{ "ok": false, "error": "O Crystal não está nesse servidor." }

GET /v1/economy/{user_id}

Saldo de Rubis e streak de daily de um usuário (dados públicos, iguais aos mostrados em /rubis atm).

Parâmetros de URL

Nome Tipo Descrição
user_id integer ID do usuário no Discord

Resposta

{
  "ok": true,
  "user_id": 123456789012345678,
  "wallet": 15230,
  "streak": 4
}

Usuários sem registro de economia retornam wallet: 0, streak: 0 em vez de erro.


GET /v1/xp/{guild_id}/{user_id}

Nível e XP total de um usuário em um servidor específico (o XP é por-servidor, não global).

Parâmetros de URL

Nome Tipo Descrição
guild_id integer ID do servidor
user_id integer ID do usuário

Resposta

{
  "ok": true,
  "guild_id": 123456789012345678,
  "user_id": 987654321098765432,
  "total_xp": 4250,
  "level": 4
}

Códigos de status

Código Significado
200 Sucesso
401 Crystal Key ausente, inválida ou revogada
404 Recurso não encontrado (ex: servidor onde a Crystal não está)