JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 55
  • Score
    100M100P100Q55008F
  • License MIT

An ER:LC API wrapper for JS/TS

Package Exports

  • erlc-api
  • erlc-api/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (erlc-api) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

🚔 ER:LC API Wrapper

npm version License Downloads

Una librería ligera, completa y totalmente tipada para interactuar con la API de Emergency Response: Liberty County (ER:LC). Diseñada para ofrecer la mejor experiencia de desarrollo tanto en JavaScript como en TypeScript.


✨ Características

  • 🎯 Cobertura Total: Soporte para el 100% de los endpoints de la API v1.
  • 🛡️ Tipado TypeScript: Definiciones de tipos incluidas nativamente.
  • Ligero y Rápido: Sin dependencias pesadas innecesarias.
  • 🔒 Seguro: Validación de tokens y manejo de errores robusto.
  • 🆕 Actualizado: Soporte para GlobalToken opcional (v3.2.0+).

📦 Instalación

npm install erlc-api
# o
bun add erlc-api

🚀 Inicio Rápido

Inicialización

Puedes usar la librería con o sin un Global Token (requerido solo para aplicaciones a gran escala).

JavaScript

const erlc = require("erlc-api");

// Inicialización simple (Recomendada para la mayoría)
const client = new erlc.Client();

// O con Global Token (Para Large Apps)
// const client = new erlc.Client({ globalToken: "..." });

TypeScript

import { Client, getServer } from "erlc-api";

const client = new Client();

📖 Ejemplos de Uso

Asegúrate de tener tu Server Key a mano (obtenla en los ajustes de tu servidor privado en ER:LC).

🖥️ Información del Servidor

const serverToken = "tu-server-key-aqui";

// Obtener estado del servidor
const server = await erlc.getServer(serverToken);
console.log(`Servidor: ${server.Name} | Jugadores: ${server.CurrentPlayers}/${server.MaxPlayers}`);

// Obtener jugadores conectados
const players = await erlc.getPlayers(serverToken);
console.table(players); // Muestra nombre, ID, permisos y equipo

// Obtener vehículos en el mapa
const vehicles = await erlc.getVehicles(serverToken);

📜 Registros (Logs)

Accede a los historiales de actividad de tu servidor:

// Logs de Entradas/Salidas
const joinLogs = await erlc.getJoinLogs(serverToken);

// Logs de Muertes (Killfeed)
const killLogs = await erlc.getKillLogs(serverToken);

// Logs de Comandos ejecutados
const commandLogs = await erlc.getCommandLogs(serverToken);

// Logs de Llamadas a Moderadores
const modCalls = await erlc.getModcallLogs(serverToken);

🛠️ Gestión y Administración

// Ver lista de Baneos
const bans = await erlc.getBans(serverToken);

// Obtener Staff del servidor
const staff = await erlc.getStaff(serverToken);

// Ejecutar comando remoto (Ej: Anuncio)
await erlc.runCommand(serverToken, ":h ¡Hola desde la API!");

// Resetear Global Key (Solo si tienes una configurada)
// await erlc.resetGlobalKey();

🚨 Manejo de Errores

La librería lanza errores descriptivos (ErlcError) que facilitan la depuración.

try {
  await erlc.getServer(serverToken);
} catch (error) {
  console.error(`Error ${error.code}: ${error.message}`);
  
  if (error.code === 4001) console.log("⏳ Rate limit alcanzado, espera un momento.");
  if (error.code === 2002) console.log("🔑 La Server Key es inválida o expiró.");
}

Códigos Comunes

Código Significado Solución
2002 Key Inválida Verifica tu Server-Key en el juego.
3002 Servidor Offline El servidor no tiene jugadores o está apagado.
4001 Rate Limit Estás enviando muchas peticiones muy rápido.
403 No Autorizado Verifica tus permisos o tokens.

🔗 Enlaces Útiles


Hecho con ❤️ para la comunidad de ER:LC