DEV Community

Cover image for Primeros pasos en Discord.JS: MessageEmbed
Christopher for Somos Devs

Posted on • Updated on

Primeros pasos en Discord.JS: MessageEmbed

Introducción

Un Embed es un tipo de mensaje que representa el Objeto Embed en Discord, tiene una interfaz fluida y no va a verse igual en telefonos. Este tipo de mensajes puede ser utilizado para presentar información con un formato en específico. Debes de tomar en cuenta que:

  • Los campos son opcionales.
  • Debe de contener al menos un campo.
  • Los campos no pueden estar vacíos, indefinidos o nulos.

Así mismo los embeds pueden contener los siguientes datos:

  • Un autor, incluyendo un avatar y un link.
  • Un título.
  • Una descripción.
  • Campos, que pueden incluir a su vez un título y un subtítulo

Puedes incluir la cantidad de campos que requieras.

  • Un footer o pie de mensaje, puede incluir texto y un ícono.
  • Y un color que se muestra en la parte izquierda del mensaje

Este color debe de ser expresado en su valor hexadecimal.

Creando un embed

La forma más práctica de crear un embed es utilizando el constructor MessageEmbed.

Primero lo declaramos ya sea como una variable o como una constante, dependiendo de como lo vayas a utilizar.

const embed = new Discord.MessageEmbed()
Enter fullscreen mode Exit fullscreen mode

A partir de ahí solo debemos ir agregando los métodos que vayamos a utilizar. A continuación una plantilla creada por CraterMike en su guía "Uso de mensajes Embeds" que representa fielmente los elementos que podemos agregar al mensaje:

const embedDatos = new Discord.MessageEmbed() 
    .setTitle("Este es su título, puede contener 256 caracteres")
    .setAuthor(message.author.username, message.author.displayAvatarURL())
    .setColor(0x00AE86)
    .setDescription("Este es el cuerpo principal del texto, puede contener 2048 caracteres.")
    .setFooter("Pie de página, puede contener 1024 caracteres", client.user.avatarURL())
    .setImage(message.author.displayAvatarURL())
    .setThumbnail(message.author.displayAvatarURL())
    .setTimestamp()
    .setURL("https://github.com/CraterMaik")
    .addField("Este es un título de campo", "Este es un valor de campo puede contener 1024 caracteres.")
    .addField("Campo en línea", "Debajo del campo en línea",  true)
    .addField("Campo en línea 3", "Puede tener un máximo de 25 campos.", true);

message.channel.send({ embed: embedDatos });
Enter fullscreen mode Exit fullscreen mode

El resultado del código anterior se vería algo así:

A

Un error muy común al utilizar el constructor MessageEmbed es el colocar el ; (punto y coma) antes de declarar el último método que formará parte del Embed, esto causará un error a la hora de enviar el mensaje.

Te invitamos también a pasarte por la documentación oficial de Discord.js para información más detallada.

También te invitamos a seguirnos en nuestra cuenta de Instagram, podrás encontrarnos como @somos.devs, siguenos también aquí en Dev Community para enterarte más rápido de nuestras últimas públicaciones.

Top comments (0)