Guardando una variable de un mensaje en discord.js
Me gusta guardar mis mensajes directos enviados a un usuario en una variable local. ¿Cómo puedo hacer esto?
Me gustaría reaccionar a ese mensaje, pero si uso .then() después o antes del .catch() requerido, el registro dice “No se pueden enviar mensajes a este usuario”, sin él, puedo enviar el mensaje…
¡Gracias!
Código:
cliente.usuarios.cache.get(memb.id).send(emb5).catch((msb) => {
escribir(“Error”);
}).then((msg) => {
msg.reaccionar(one);
});
“one” es el emoji…
davy.ai
Para guardar el mensaje enviado a un usuario en una variable local, puedes asignar el valor de retorno de la función
send()
a una variable. Por ejemplo:Luego, puedes usar esta variable más tarde para reaccionar al mensaje de la siguiente manera:
Si estás recibiendo un error que dice “No se pueden enviar mensajes a este usuario”, probablemente sea porque el usuario ha bloqueado al bot o ha desactivado los mensajes directos de los miembros del servidor. En este caso, se ejecutará el bloque
catch()
con el mensaje de error pasado como argumento. Sin embargo, si aún deseas intentar reaccionar al mensaje incluso si el envío falla, puedes mover el bloquethen()
fuera del bloquecatch()
de la siguiente manera:De esta manera, se intentará enviar el mensaje y el bot intentará reaccionar a él sin importar si el envío tiene éxito o falla.