Un bot de Discord para gestión de inventario VORP que se integra completamente con n8n para automatizar todo el servidor.
- Gestión de inventario (productos, pedidos, stock)
- Integración completa con n8n para automatización del servidor
- Monitoreo de eventos de Discord en tiempo real
- Triggers manuales para workflows de n8n
- Soporte para comandos slash
messageCreate: Nuevos mensajesguildMemberAdd: Miembros que se unen al servidorguildMemberRemove: Miembros que salen del servidorvoiceStateUpdate: Cambios en canales de voz (unirse, salir, mover)messageReactionAdd: Reacciones a mensajesmessageDelete: Mensajes eliminadosmanualTrigger: Triggers manuales desde comandos
git clone https://github.com/Shin5hi/vorp-bot-discord.git
cd vorp-bot-discordnpm installCopia .env.example a .env y configura:
cp .env.example .envEdita .env con tus valores:
DISCORD_TOKEN: Token de tu bot de DiscordCLIENT_ID: ID del cliente de tu botDISCORD_GUILD_ID: ID del servidor de DiscordMONGODB_URI: URI de conexión a MongoDB (opcional)N8N_WEBHOOK_URL: URL del webhook de n8n
- En n8n, crea un nuevo workflow
- Agrega un nodo "Webhook" al inicio
- Configura el método HTTP como POST
- Copia la URL del webhook y pégala en
N8N_WEBHOOK_URL
- Webhook → Switch (por eventType) → Acciones específicas
En n8n, ve a "Workflows" → "Import from File" y selecciona n8n-workflow-example.json del repositorio.
npm start/stock: Muestra el inventario actual/agregar_producto: Agrega un nuevo producto/crear_pedido: Crea un nuevo pedido/listar_pedidos: Lista todos los pedidos/reabastecer: Reabastece stock/reporte_diario: Genera reporte diario/trigger_n8n: Trigger manual de workflow de n8n
El bot envía automáticamente todos los eventos de Discord a n8n. Puedes crear workflows para:
- Moderación automática: Detectar palabras prohibidas y tomar acciones
- Bienvenidas personalizadas: Enviar mensajes de bienvenida con roles específicos
- Monitoreo de voz: Notificaciones cuando miembros entran/salen de canales de voz
- Reacciones automáticas: Responder a reacciones específicas
- Integraciones externas: Conectar con otras APIs, bases de datos, etc.
- Reportes automáticos: Generar reportes basados en actividad del servidor
{
"eventType": "messageCreate",
"timestamp": "2024-01-01T12:00:00.000Z",
"data": {
"messageId": "123456789",
"channelId": "987654321",
"guildId": "111222333",
"authorId": "444555666",
"content": "Hola mundo!",
"attachments": [],
"mentions": {
"users": [],
"roles": [],
"channels": []
}
}
}- Crea un archivo en
src/events/nombreEvento.js - Exporta un módulo con
nameyexecute - Usa
sendToN8n(eventType, data)para enviar datos
- Crea un archivo en
src/commands/nombreComando.js - Usa
SlashCommandBuilderpara definir el comando - Implementa la lógica en
execute
Las contribuciones son bienvenidas. Por favor, crea un issue primero para discutir cambios mayores.
Este proyecto está bajo la Licencia MIT.