Skip to content
Sign upLog in

Uso De Embeds Discord.JS | v11 - v12 | Español

Profile icon
TheEdaL

Embeds

Si has estado en Discord durante un tiempo, es probable que hayas visto estos mensajes especiales, a menudo enviados por bots.
Pueden tener un borde de color, imágenes incrustadas, campos de texto, y otras propiedades de lujo.

En la siguiente sección explicaremos cómo componer un embed, enviarlo, y qué debes tener en cuenta al hacerlo.

Usando el constructor RichEmbedMessageEmbed

Discord.js cuenta con la clase de utilidad RichEmbedMessageEmbed para facilitar la construcción y manipulación de los embeds.

::: advertencia
En la versión 12 se han unificado las clases de incrustación de recepción y de salida; en su lugar deberá utilizar Discord.MessageEmbed() como constructor.
:::

// en la parte superior de su archivo const Discord = require('discord.js'); // dentro de un comando, un escuchador de eventos, etc. const exampleEmbed = new Discord.RichEmbed() .setColor('#0099ff') .setTitle('Algún título') .setURL('https://discord.js.org/') .setAuthor('Algún nombre', 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org') .setDescription('Alguna descripción aquí') .setThumbnail('https://i.imgur.com/wSTFkRM.png') .addField('Título del campo normal', 'Algún valor aquí') .addBlankField() .addField('Título del campo en línea', 'Algún valor aquí', true) .addField('Título del campo Inline', 'Algún valor aquí', true) .addField('Título del campo en línea', 'Algún valor aquí', true) .setImage('https://i.imgur.com/wSTFkRM.png') .setTimestamp() .setFooter('Algún texto de pie de página aquí', 'https://i.imgur.com/wSTFkRM.png'); channel.send(exampleEmbed);
// en la parte superior de su archivo const Discord = require('discord.js'); // dentro de un comando, un escuchador de eventos, etc. const exampleEmbed = new Discord.MessageEmbed() .setColor('#0099ff') .setTitle('Algún título') .setURL('https://discord.js.org/') .setAuthor('Algún nombre', 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org') .setDescription('Alguna descripción aquí') .setThumbnail('https://i.imgur.com/wSTFkRM.png') .addFields( { name: 'Título del campo normal', value: 'Algún valor aquí' }, { name: '\u200B', value: '\u200B' }, { name: 'Inline field title', value: 'Some value here', inline: true }, { name: 'Inline field title', value: 'Some value here', inline: true }, ) .addField('Título del campo en línea', 'Algún valor aquí', true) .setImage('https://i.imgur.com/wSTFkRM.png') .setTimestamp() .setFooter('Algún texto de pie de página aquí', 'https://i.imgur.com/wSTFkRM.png'); channel.send(exampleEmbed);

::: consejo
No es necesario que incluyas todos los elementos mostrados anteriormente. Si quieres una incrustación más simple, simplemente deja algunos fuera.
:::

El método .setColor() acepta un entero, una cadena de color HEX, una matriz de valores RGB o cadenas de color específicas. Puedes encontrar una lista de ellos en la documentación de Discord.jsla documentación de Discord.js.

.addBlankField() es un método de conveniencia para .addField('\u200b', '\u200b'), utilizado para añadir un espaciador al embed. También se puede utilizar inline pasando true como primer parámetro.

.addBlankField() era un método conveniente para añadir un espaciador al embed. Para añadir un campo en blanco ahora puedes usar .addField('\u200b', '\u200b') en su lugar.

El ejemplo anterior encadena los métodos de manipulación al objeto recién creado RichEmbedMessageEmbed.
Si quieres modificar el embed en base a condiciones tendrás que referenciarlo como la constante exampleEmbed (para nuestro ejemplo).

const exampleEmbed = new Discord.RichEmbed().setTitle('Algún título'); if (message.author.bot) { exampleEmbed.setColor('#7289da'); }
const exampleEmbed = new Discord.MessageEmbed().setTitle('Algún título'); if (message.author.bot) { exampleEmbed.setColor('#7289da'); }

Adjuntar imágenes

Puedes usar el método .attachFiles() para subir imágenes junto a tu embed y usarlas como fuente para los campos embed que soportan urls de imágenes. El método acepta el archivo fuente como ruta de archivo FileOptionsFileOptions, BufferResolvable (incluyendo una URL a una imagen externa), u objetos Attachment dentro de un array.

A continuación, puede hacer referencia y utilizar

You are viewing a single comment. View All
Profile icon
CodingCactus

Hi, as repl talk is English only, I have had to unlist this.