Bot oficial de Discord para Zeew Space.
- 🎫 Sistema de tickets
- 👋 Sistema de bienvenida inteligente (agrupa múltiples usuarios)
- 🏗️ Arquitectura basada en SOLID
- 📊 Preparado para Redis (cuando sea necesario)
- 🔧 TypeScript + Discord.js v14
- 🐳 Docker y Docker Compose incluidos
- ❤️ Health checks para monitoreo
- Node.js 20+ (para desarrollo local)
- Docker y Docker Compose (recomendado)
- Token de bot de Discord
# Clonar el repositorio
git clone <tu-repositorio>
cd ZeewBot
# Copiar archivo de entorno
cp .env.example .env
# Editar .env con tu token de Discord
# Editar config.json con los IDs de tu servidor# Ver todos los comandos disponibles
make help
# Iniciar en desarrollo
make dev
# Iniciar en producción
make prod
# Ver logs
make logs
# Detener
make stop# Desarrollo
docker-compose -f docker-compose.dev.yml up --build
# Producción
docker-compose up -d
# Ver logs
docker-compose logs -f bot
# Detener
docker-compose down# Desarrollo
.\scripts\start-dev.bat
# Producción
.\scripts\start-prod.bat
# Detener
.\scripts\stop.bat# Instalar dependencias
npm install
# Desarrollo con hot-reload
npm run dev
# Compilar
npm run build
# Producción
npm startDISCORD_TOKEN=tu_token_aqui
REDIS_URL=redis://localhost:6379 # Opcional
NODE_ENV=development{
"guildId": "ID_DE_TU_SERVIDOR",
"channels": {
"welcome": "ID_CANAL_BIENVENIDA",
"tickets": "ID_CATEGORIA_TICKETS",
"logs": "ID_CANAL_LOGS"
},
"roles": {
"member": "ID_ROL_MIEMBRO",
"support": "ID_ROL_SOPORTE"
}
}/help- Muestra la ayuda/ping- Verifica la latencia/ticket [motivo]- Crea un ticket de soporte/welcomestatus- Ver bienvenidas pendientes (solo staff)
ZeewBot/
├── src/ # Código fuente TypeScript
├── scripts/ # Scripts de utilidad
├── logs/ # Archivos de log
├── docker-compose.yml # Configuración de producción
├── docker-compose.dev.yml # Configuración de desarrollo
├── Dockerfile # Imagen de producción
├── Dockerfile.dev # Imagen de desarrollo
└── Makefile # Comandos de utilidad
El bot incluye un endpoint de health check en el puerto 3000:
# Verificar salud del bot
curl http://localhost:3000/health# Con Make
make backup
# Manual
docker-compose exec redis redis-cli BGSAVE- Verifica que el token en
.envsea correcto - Asegúrate de que el bot tenga los permisos necesarios en Discord
- En Linux, puedes necesitar usar
sudoo agregar tu usuario al grupo docker
- Es opcional, el bot funciona sin Redis
- Si lo necesitas, verifica que el servicio esté ejecutándose
- Fork el proyecto
- Crea tu rama (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
MIT - Ver archivo LICENSE para más detalles