Mucha variedad y sin un orden específico.
Webhooks
Los webhooks son útiles principalmente para enviar mensajes con otro nombre y avatar al que tiene el bot. Puedes por ejemplo impersonar a un usuario para bien y para mal, como hace NQN con los emojis. O por ejemplo, como he utilizado yo, para el RSS de noticias de anime.

Suficientes explicaciones. Para crear un webhook o una de sus maneras, especificaremos el canal donde queremos que se cree. Esto lo podemos hacer, por ejemplo, guardando el canal en una variable.
Code: Select all
const channel = await client.channels.cache.get('940505116623114261');- Dentro de .get() ponemos el ID del canal que queramos usar.
A continuación, para crear el webhook, usaremos la función .createWebhook() junto a otro parámetros, como por ejemplo el nombre* y su avatar.
Code: Select all
await channel.createWebhook({ name: 'Nombre del Webhook', avatar: 'https://i.pinimg.com/564x/...d6f09403c4d345ec376.jpg' });
- El nombre es obligatorio, mientras que el avatar es opcional.
Una vez creada, guardaremos esta nueva webhook creada en una variable. Y en este caso, usaré un .then() para que ejecute el siguiente código una vez termine de crear el webhook. También queremos usar async para después poder usar await. Será necesario para que no ocurran problemas; por ejemplo que el webhook se elimine antes de que se mande el mensaje.
El trozo de código para mandar un mensaje o embed desde la webhook será el siguiente:
El trozo de código para mandar un mensaje o embed desde la webhook será el siguiente:
Code: Select all
await webhook.send({ embeds: embed });
- webhook es el nombre de la variable que contiene el webhook que hemos creado.
- Aparte de embeds, puedes pasar más parámetros, puedes enviar texto plano, botones y otras formas de interacción.
- También puedes cambiar el nombre y avatar al mandar un mensaje, con los parámetros username y avatarURL.
Para eliminar el webhook una vez se ha enviado el mensaje, usaremos el siguiente código.
Code: Select all
client.deleteWebhook(webhook.id);
Si te has perdido en algún punto, aquí está el código entero:
Code: Select all
const channel = await client.channels.cache.get('940505116623114261');
await _channel.createWebhook({ name: 'Nombre del Webhook', avatar: 'https://i.pinimg.com/564x/...d6f09403c4d345ec376.jpg' }).then( async (webhook) => {
await webhook.send({ embeds: embed, content: 'plain text' });
client.deleteWebhook(webhook.id);
});
