Bot de Discord para verificar baneos en múltiples sistemas (Anticheat, TxAdmin, etc.) de manera modular.
Este proyecto permite consultar baneos de jugadores mediante comandos de Discord (+check <identificador>) y devuelve información de las fuentes configuradas (por ejemplo, archivos JSON de Anticheat y TxAdmin). La lógica de búsqueda está organizada en módulos por fuente, fáciles de extender.
- Node.js v16 o superior
- npm (gestor de paquetes)
- Acceso a los archivos de baneos (JSON) de cada sistema
Esta guía te llevará de la mano, incluso si nunca has usado Node.js o creado un bot de Discord.
- Descarga e instala Node.js (v16+) desde https://nodejs.org/
Asegúrate de que
node --versionynpm --versionfuncionen en tu terminal.
- Ve al Portal de Desarrolladores de Discord y crea una nueva aplicación.
- En la sección "Bot", haz clic en "Add Bot" y copia el token.
- En "OAuth2 > URL Generator", marca los scopes
boty permisosRead Messages,Send MessagesyAdd Reaction. - Copia la URL generada e invita el bot a tu servidor.
git clone <repositorio> BotComunidad
cd BotComunidadnpm install- Copia la plantilla:
copy .env.example .env
- Abre
.env.exampley completa:DISCORD_TOKEN: el token de tu bot.CLIENT_IDyGUILD_ID: aparecen en tu aplicación de Discord.BANS_SOURCES: lista de fuentes (por ejemploanticheat,txadmin).BANS_FILE_PATH_<FUENTE>: rutas absolutas a los archivos JSON de baneos.
Modifica el archivo .env.example para que se llame .env.
- Modo desarrollo (recarga automática):
npm run dev
- Modo producción:
npm start
Una vez iniciado, tu bot estará en línea y responderá al comando +check <identificador>.
Ejemplo:
+check steam:110000112345678
Si hay baneos, recibes embeds; si no, reaccionará con ❌.
Todas las rutas y credenciales se leen desde variables de entorno. El archivo utils/config.js gestiona:
DISCORD_TOKEN: Token del botBANS_SOURCES: Fuentes habilitadas, por defectoanticheat,txadminBANS_FILE_PATH_<FUENTE>: Ruta al JSON de cada fuente (por ejemploBANS_FILE_PATH_ANTICHEAT)
BotComundad/
├─ index.js # Punto de entrada, maneja eventos de Discord
├─ .env # Variables de entorno (no comitear)
├─ package.json # Dependencias y scripts
└─ utils/
├─ config.js # Lectura y validación de ENV
└─ bans/
├─ index.js # Orquestador de fuentes (loadAll, findIn)
├─ anticheat.js # Módulo de búsqueda en bans.json (Anticheat)
└─ txadmin.js # Módulo de búsqueda en playersDB.json (TxAdmin)
En cualquier canal donde el bot tenga permisos de leer y escribir mensajes, ejecuta:
+check <identificador>
Ejemplo:
+check steam:110000112345678
El bot responderá con uno o varios embeds si el jugador está baneado, o reaccionará con ❌ si no se encuentra baneo.
- Crea un nuevo módulo en
utils/bans/<fuente>.jsconload()yfind(id). - Define la ruta en
.envcomoBANS_FILE_PATH_<FUENTE>. - Agrega el nombre de la fuente en
BANS_SOURCESen.env. El orquestador detectará y cargará dinámicamente tu módulo.
¡Listo! Ahora tienes un bot modular y escalable para gestionar consultas de baneos en Discord.