Como incrustar en Discord

Como incrustar en Discord

Si ha estado en Discord por un tiempo, es probable que haya visto estos mensajes especiales.

Tienen un borde de color, a menudo son enviados por bots y tienen imágenes incrustadas, campos de texto y otras cosas elegantes.

En la siguiente sección, explicaremos cómo redacta un incrustado, lo envía y lo que debe tener en cuenta al hacerlo.

#Insertar vista previa

A continuación, se muestra un ejemplo de cómo puede verse una inserción. Repasaremos su construcción en la siguiente parte de esta guía.

Utilizando el Mensaje constructor

Discord.js presenta la clase de utilidad Mensaje para una fácil construcción y manipulación de incrustaciones.

// at the top of your file

const Discord = require('discord.js');

// inside a command, event listener, etc.

const exampleEmbed = new Discord.MessageEmbed()

.setColor('#0099ff')

.setTitle('Some title')

.setURL('https://discord.js.org/')

.setAuthor('Some name', 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org')

.setDescription('Some description here')

.setThumbnail('https://i.imgur.com/wSTFkRM.png')

.addFields(

{ name: 'Regular field title', value: 'Some value here' },

{ 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('Inline field title', 'Some value here', true)

.setImage('https://i.imgur.com/wSTFkRM.png')

.setTimestamp()

.setFooter('Some footer text here', 'https://i.imgur.com/wSTFkRM.png');

channel.send(exampleEmbed);

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

.addBlankField()fue un método conveniente para agregar un espaciador a la inserción. Para agregar un campo en blanco, ahora puede usarlo .addField('\u200b', '\u200b').

El ejemplo anterior encadena los métodos de manipulación al recién creado Mensajeobjeto. Si desea modificar la inserción en función de las condiciones, deberá hacer referencia a ella como la constante exampleEmbed(para nuestro ejemplo).

const exampleEmbed = new Discord.MessageEmbed().setTitle('Some title');

if (message.author.bot) {

exampleEmbed.setColor('#7289da');

}

#Adjuntar imágenes

Puede usar el .attachFiles()método para cargar imágenes junto con su inserción y usarlas como fuente para los campos de inserción que admiten URL de imágenes. El método acepta el archivo fuente como ruta de archivoFileOptions, BufferResolvable (incluida una URL a una imagen externa) u objetos adjuntos dentro de una matriz.

Luego puede hacer referencia y usar las imágenes dentro del incrustado con attachment://fileName.extension.

const exampleEmbed = new Discord.MessageEmbed()

.setTitle('Some title')

.attachFiles(['../assets/discordjs.png'])

.setImage('attachment://discordjs.png');

channel.send(exampleEmbed);

Usando un objeto incrustado

const exampleEmbed = {

color: 0x0099ff,

title: 'Some title',

url: 'https://discord.js.org',

author: {

name: 'Some name',

icon_url: 'https://i.imgur.com/wSTFkRM.png',

url: 'https://discord.js.org',

},

description: 'Some description here',

thumbnail: {

url: 'https://i.imgur.com/wSTFkRM.png',

},

fields: [

{

name: 'Regular field title',

value: 'Some value here',

},

{

name: '\u200b',

value: '\u200b',

inline: false,

},

{

name: 'Inline field title',

value: 'Some value here',

inline: true,

},

{

name: 'Inline field title',

value: 'Some value here',

inline: true,

},

{

name: 'Inline field title',

value: 'Some value here',

inline: true,

},

],

image: {

url: 'https://i.imgur.com/wSTFkRM.png',

},

timestamp: new Date(),

footer: {

text: 'Some footer text here',

icon_url: 'https://i.imgur.com/wSTFkRM.png',

},

};

channel.send({ embed: exampleEmbed });

Si desea modificar el objeto incrustado en función de las condiciones, deberá hacer referencia a él directamente (como exampleEmbeden nuestro ejemplo). A continuación, puede (re) asignar los valores de propiedad como lo haría con cualquier otro objeto.

const exampleEmbed = { title: 'Some title' };

if (message.author.bot) {

exampleEmbed.color = 0x7289da;

}

Adjuntar imágenes

Puede cargar imágenes con su mensaje incrustado y utilizarlas como fuente para los campos incrustados que admiten URL de imágenes mediante la construcción un mensaje adjuntode ellos para enviar como opción de mensaje junto con la inserción. losadjunto archivo El parámetro toma un BufferResolvable o Stream que incluye la URL a una imagen externa.

Luego puede hacer referencia y usar las imágenes dentro del incrustado con attachment://fileName.extension.

const file = new Discord.MessageAttachment('../assets/discordjs.png');

const exampleEmbed = {

title: 'Some title',

image: {

url: 'attachment://discordjs.png',

},

};

channel.send({ files: [file], embed: exampleEmbed });

Autor: Oscar olg Fecha actualización el 2021-10-19. Fecha publicación el 2020-10-19. Categoría: Discord. Mapa del sitio Fuente: discordjs