Saltearse al contenido

Discord

Este modulo permite interactuar con la API de Discord v10 a traves de dos mecanismos: Webhooks y Bot Token. Las operaciones de Webhook (enviar mensajes y embeds) no requieren credenciales de bot, solo la URL del webhook. Las operaciones de Bot requieren un token de bot configurado en las credenciales y permiten gestionar mensajes en canales, mensajes directos, reacciones, hilos, roles, miembros y servidores.

La operacion se determina por el campo operation o por el nombre del nodo (node_name_alias). El modulo soporta mas de 20 operaciones diferentes organizadas en: webhook, mensajes de canal, mensajes directos, gestion de servidor (guild), usuarios e hilos.

ParametroTipoRequeridoDescripcion
credentials_idcredentialsNoCredenciales del bot de Discord (no necesario para webhooks)
operationselectSiOperacion a realizar: webhookSend, webhookEmbed, sendMessage, sendEmbed, sendDM, getMessages, addReaction, getGuild, getMembers, addRole, removeRole, etc.
webhookUrltextCondicionalURL del webhook de Discord (requerido para operaciones de webhook)
channelIdtextCondicionalID del canal de Discord
guildIdtextCondicionalID del servidor de Discord
userIdtextCondicionalID del usuario de Discord
messageIdtextCondicionalID del mensaje
contenttextCondicionalContenido del mensaje de texto
embedjsonNoObjeto embed completo o campos individuales (embedTitle, embedDescription, embedColor, etc.)
threadNametextCondicionalNombre del hilo (para createThread)
roleIdtextCondicionalID del rol (para addRole/removeRole)

Tipo de servicio: discord. Se almacenan en la tabla servicecredentials.

Campos de configuracion:

  • botToken: Token del bot de Discord (obligatorio para operaciones de bot)
  • defaultGuildId: ID del servidor por defecto (opcional)

Para operaciones de webhook solo se necesita la URL del webhook, no se requieren credenciales.

{
"nextModule": "siguiente_modulo",
"data": {
"sentMessage": {
"id": "1234567890",
"channel_id": "9876543210",
"content": "Hola desde Floogos",
"timestamp": "2025-01-15T10:30:00.000Z"
}
},
"_meta_": {
"operation": "sendMessage",
"service": "discord"
}
}
{
"webhookUrl": "https://discord.com/api/webhooks/123/abc",
"content": "Alerta: nuevo pedido recibido",
"username": "Bot de Pedidos"
}
{
"credentials_id": 1,
"operation": "sendMessage",
"channelId": "123456789",
"content": "Mensaje desde el workflow"
}
  • Las operaciones de webhook no requieren credenciales de bot
  • Los embeds permiten construirse campo por campo (embedTitle, embedDescription, embedColor) o como objeto JSON completo
  • El color del embed se especifica en hexadecimal (ej: “5865F2”) y se convierte a entero internamente
  • Los botones de titulo estan limitados a 20 caracteres por Discord
  • El parametro continueOnError permite que el workflow continue incluso si la operacion falla
  • Los mensajes directos (DM) crean automaticamente un canal DM con el usuario antes de enviar
  • Discord Webhook Send (parentNode: discord)
  • Discord Webhook Embed (parentNode: discord)
  • Discord Send Message, Send Embed, Send DM, Edit Message, Delete Message
  • Discord Get Messages, Add Reaction, Get Guild Info, Get Channels, Get Members
  • Discord Add Role, Remove Role, Ban User, Kick User, Create Thread, Get User