Skip to content

Klorenn/Hoops-Helper-Bot

Repository files navigation

🏀 Hoops Helper Bot

Un bot de Discord inteligente para Hoops Finance con datos en tiempo real, IA integrada y soporte multiidioma

Discord.js Node.js API License

📖 ¿Qué es Hoops Helper Bot?

Hoops Helper Bot es un asistente inteligente de Discord diseñado específicamente para la comunidad de Hoops Finance, una plataforma DeFi construida sobre la blockchain de Stellar. El bot combina inteligencia artificial, datos en tiempo real y automatización para proporcionar una experiencia completa de gestión de pools de liquidez.

🎯 Propósito Principal

  • Educar a los usuarios sobre DeFi y pools de liquidez
  • Proporcionar datos en tiempo real de las mejores oportunidades de inversión
  • Automatizar recordatorios y monitoreo del estado de la plataforma
  • Soporte multiidioma para una comunidad global

✨ Características Principales

🤖 Asistente de IA Integrado

  • Base de conocimiento especializada en Hoops Finance, Stellar y DeFi
  • Respuestas inteligentes a preguntas sobre pools de liquidez, AMM, y protocolos
  • Soporte contextual para términos técnicos y conceptos avanzados
  • Aprendizaje continuo basado en interacciones de la comunidad

🏊 Datos en Tiempo Real de Hoops Finance

  • API Oficial: Conectado directamente a https://api.hoops.finance/getstatistics
  • Top 5 Pools: Mejores pools por APY con datos actualizados al instante
  • Filtrado Inteligente: Solo muestra pools activas con TVL > 0 y APR > 0
  • Información Completa: APR, Trending, TVL, Volume, Protocol, Fees, Utilization
  • Actualización Automática: Datos frescos con cada comando

🌍 Soporte Multiidioma

  • 🇺🇸 Inglés - Idioma por defecto
  • 🇪🇸 Español - Soporte completo para la comunidad hispanohablante
  • 🇧🇷 Português - Respuestas localizadas para Brasil
  • Cambio dinámico de idioma sin reiniciar el bot

Automatización Inteligente

  • Verificación Diaria: 9:00 AM UTC - Estado del servidor Hoops Finance
  • Recordatorios Nocturnos: 10:00 PM UTC - Resumen de pools del día
  • Monitoreo Continuo: Cada 5 minutos - Estado del servidor
  • Alertas Automáticas: Notificaciones cuando el servidor está caído
  • Notificaciones @everyone en caso de problemas críticos

📋 Comandos Disponibles

Comando Descripción Ejemplo Respuesta
/ask <pregunta> Preguntar a la IA sobre Hoops Finance /ask What are liquidity pools? Respuesta educativa con contexto
/best-pools Ver las mejores pools por APY con datos en tiempo real /best-pools Top 5 pools con medallas y estadísticas
/status-server Verificar estado del servidor Hoops Finance /status-server Estado online/offline con detalles
/language <idioma> Cambiar idioma del bot /language es Confirmación de cambio de idioma
/help Ver ayuda y comandos disponibles /help Lista completa de comandos y características

🎨 Formato de Respuestas

  • Embeds ricos con colores y emojis
  • Medallas para las mejores pools (🥇🥈🥉)
  • Timestamps para datos actualizados
  • Enlaces directos a Hoops Finance
  • Información estructurada fácil de leer

🚀 Instalación y Configuración

Prerrequisitos

  • Node.js 18+ - Descargar aquí
  • npm o yarn - Gestor de paquetes
  • Token de Discord Bot - Crear aquí
  • Servidor de Discord - Donde quieres usar el bot

🏃‍♂️ Instalación Rápida (Windows)

# 1. Clonar repositorio
git clone https://github.com/tuusuario/hoops-helper-bot.git
cd hoops-helper-bot

# 2. Ejecutar script automático
start.bat

🔧 Instalación Manual

# 1. Instalar dependencias
npm install

# 2. Configurar bot
cp config.local.js config.js
# Editar config.js con tus valores

# 3. Registrar comandos slash
node register-commands.js

# 4. Iniciar bot
npm start

⚙️ Configuración Detallada

1. 🎭 Crear Bot en Discord

  1. Ve a Discord Developer Portal
  2. Click en "New Application" → Nombre: "Hoops Helper Bot"
  3. Ve a "Bot" → "Add Bot" → "Yes, do it!"
  4. En "Token" → "Copy" (guarda este token)
  5. Ve a "OAuth2" → "URL Generator"
  6. Selecciona:
    • bot
    • applications.commands
    • Send Messages
    • Use Slash Commands
    • Embed Links
  7. Copia la URL generada y úsala para invitar el bot

2. 📝 Configurar Variables

Crea config.js basado en config.local.js:

module.exports = {
    // Token del bot de Discord (obtener de Discord Developer Portal)
    DISCORD_TOKEN: 'tu_token_aqui',
    
    // ID del canal para recordatorios (opcional)
    REMINDER_CHANNEL_ID: 'id_del_canal',
    
    // ID del servidor de Discord (opcional)
    REMINDER_GUILD_ID: 'id_del_servidor',
    
    // ID del bot (se extrae automáticamente del token)
    CLIENT_ID: 'id_del_bot'
};

3. 🔍 Obtener IDs de Discord

  • Canal ID: Click derecho en canal → "Copiar ID"
  • Servidor ID: Click derecho en servidor → "Copiar ID"
  • Bot ID: Se extrae automáticamente del token

🌐 API y Fuente de Datos

📊 API Oficial de Hoops Finance

  • Endpoint: https://api.hoops.finance/getstatistics
  • Método: GET
  • Formato: JSON
  • Actualización: Tiempo real
  • Rate Limit: Sin límites conocidos

📈 Datos Procesados

{
  "pairId": "CA6PUJLBYKZKUEKLZJMKBZLEKP2OTHANDEOWSFF44FTSYLKQPIICCJBE",
  "market": "native/USDC",
  "totalValueLocked": "19089604.44",
  "volume": "19089604.44",
  "fees": "57268.81",
  "trendingapr": "0.00%",
  "apr": "4.22%",
  "utilization": "0.00%",
  "protocol": "aqua",
  "riskScore": "40.00",
  "rankingScore": "50.00"
}

🔄 Proceso de Filtrado

  1. Conexión a la API de Hoops Finance
  2. Filtrado de pools con TVL > 0 y APR > 0
  3. Ordenamiento por APR descendente
  4. Formateo de números con comas y símbolos
  5. Selección de top 5 pools
  6. Fallback a datos simulados si la API falla

🏗️ Arquitectura Técnica

📁 Estructura del Proyecto

hoops-helper-bot/
├── index.js                 # Bot principal con todas las funcionalidades
├── config.js               # Configuración local (crear manualmente)
├── config.local.js         # Plantilla de configuración
├── register-commands.js    # Script para registrar comandos slash
├── test-all-commands.js    # Script de prueba completa
├── start.bat              # Script de inicio para Windows
├── package.json           # Dependencias y scripts
├── README.md              # Documentación completa
└── node_modules/          # Dependencias instaladas

🔧 Dependencias Principales

  • discord.js v14: Interacción con Discord API
  • axios: Peticiones HTTP a la API de Hoops Finance
  • node-cron: Programación de tareas automáticas
  • express: Servidor de health check

🧠 Sistema de IA

  • Base de conocimiento hardcodeada para respuestas rápidas
  • Palabras clave para detección de intención
  • Respuestas contextuales basadas en la pregunta
  • Soporte multiidioma con respuestas localizadas

Sistema de Automatización

  • Cron jobs para recordatorios programados
  • Monitoreo continuo del estado del servidor
  • Notificaciones automáticas en caso de problemas
  • Logs detallados para debugging

🔍 Monitoreo y Health Check

🏥 Endpoint de Salud

  • URL: http://localhost:8080/health
  • Método: GET
  • Respuesta:
{
  "status": "healthy",
  "bot": "running",
  "version": "javascript",
  "uptime": 3600,
  "api": "https://api.hoops.finance/getstatistics"
}

📊 Logs del Bot

  • Conexión exitosa - Bot conectado a Discord
  • 🔄 Registro de comandos - Comandos slash registrados
  • 🌐 Estado de la API - Conexión a Hoops Finance
  • Recordatorios programados - Tareas automáticas activas
  • Errores y advertencias - Problemas detectados

🛠️ Desarrollo y Extensión

Agregar Nuevos Comandos

  1. Definir comando en el array commands en index.js
  2. Agregar manejo en Events.InteractionCreate
  3. Registrar comando con node register-commands.js
  4. Probar comando en Discord

🌍 Agregar Nuevos Idiomas

  1. Agregar idioma en objeto LANGUAGES
  2. Definir respuestas en responses
  3. Actualizar opciones en comando /language
  4. Probar respuestas en el idioma nuevo

🔧 Modificar Funcionalidades

  • Cambiar horarios de recordatorios en cron.schedule
  • Modificar filtros de pools en getBestPoolsDetailed
  • Agregar campos de datos en la respuesta de pools
  • Personalizar respuestas de la IA

📊 Estadísticas y Rendimiento

📈 Métricas Actuales

  • Servidores: 1 (Tellus Cooperative)
  • Comandos: 5 comandos slash registrados
  • Idiomas: 3 idiomas soportados
  • API: Conectada y funcionando al 100%
  • Uptime: Monitoreo continuo 24/7
  • Tiempo de respuesta: < 2 segundos promedio

🎯 Casos de Uso

  • Traders DeFi - Información en tiempo real de pools
  • Inversores - Análisis de oportunidades de liquidez
  • Comunidad - Educación sobre DeFi y Stellar
  • Desarrolladores - Integración con Hoops Finance

🚨 Solución de Problemas

Problemas Comunes

"Unknown interaction" Error

  • Causa: Comando no registrado correctamente
  • Solución: Ejecutar node register-commands.js

"Interaction has already been acknowledged"

  • Causa: Respuesta duplicada a un comando
  • Solución: Reiniciar el bot

"No se encontró DISCORD_TOKEN"

  • Causa: Token no configurado
  • Solución: Crear config.js con el token correcto

API de Hoops Finance no responde

  • Causa: Problemas de conectividad o API caída
  • Solución: El bot usa datos de fallback automáticamente

🔧 Scripts de Diagnóstico

# Probar todas las funcionalidades
node test-all-commands.js

# Verificar configuración
node -e "console.log(require('./config.js'))"

# Probar conexión a API
node -e "require('axios').get('https://api.hoops.finance/getstatistics').then(r => console.log('API OK')).catch(e => console.log('API Error:', e.message))"

🤝 Contribuciones

🚀 Cómo Contribuir

  1. Fork el repositorio
  2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add some AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

💡 Ideas para Contribuir

  • Nuevos comandos útiles
  • Soporte para más idiomas
  • Mejoras en la IA
  • Optimizaciones de rendimiento
  • Documentación adicional

📝 Licencia

Este proyecto está bajo la Licencia MIT. Ver LICENSE para más detalles.

🆘 Soporte y Contacto

📞 Obtener Ayuda

  1. Revisa la documentación completa en este README
  2. Verifica la configuración en config.js
  3. Ejecuta diagnósticos con node test-all-commands.js
  4. Abre un issue en GitHub con detalles del problema

🌐 Enlaces Útiles

🎉 Agradecimientos

  • Hoops Finance por proporcionar la API oficial y la plataforma
  • Discord.js por la excelente librería de Discord
  • Stellar por la blockchain rápida y eficiente
  • Comunidad DeFi por la inspiración y feedback

🚀 ¡Comienza Ahora!

# Clona el repositorio
git clone https://github.com/tuusuario/hoops-helper-bot.git

# Entra al directorio
cd hoops-helper-bot

# Ejecuta el script de inicio
start.bat

¡Disfruta usando el Hoops Helper Bot y explora el mundo de DeFi con datos en tiempo real! 🏀✨


Desarrollado con ❤️ para la comunidad de Hoops Finance

About

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors