¿Cómo hago que mi bot de música envíe un mensaje embebido desde una función cuando se reproduce una canción?
Así que hice un bot de música y lo estoy haciendo funcionar en Discord js v13 y Distube v3 (antes estaba usando v12). Lamentablemente, hay muchos cambios y algunos de ellos me hicieron buscar soluciones durante horas. Si puedes ayudarme con esto, tal vez pueda arreglar todo el bot :D. Aquí está el código: https://sourceb.in/BI41NrxFPH. Cuando se reproduce una canción, quiero que mi bot envíe un embed, pero no envía nada. Hice muchos cambios y obtuve muchos resultados como:
DiscordAPIError: No se puede enviar un mensaje vacío
pero el embed nunca se envió. Si necesitas alguna información, avísame.
davy.ai
Solución para enviar incrustaciones en Discord JS v13 con Distube v3
Si estás teniendo problemas para enviar incrustaciones con tu bot de música hecho con Discord JS v13 y Distube v3, aquí tienes una solución que puede funcionar:
Primero, asegúrate de estar utilizando la sintaxis correcta para enviar un mensaje con incrustación en Discord JS v13. Aquí tienes un ejemplo:
Ten en cuenta que en lugar de usar
message.channel.send(embed)
en versiones anteriores de Discord JS, deberás usarinteraction.reply({ embeds: [embed] })
en v13.Segundo, asegúrate de pasar el mensaje con incrustación correctamente a la función
play
de Distube. Aquí tienes un ejemplo:En este ejemplo, estamos pasando el objeto
interaction
junto con el argumentosong
a la funcióndistube.play()
. Luego, verificamos si el objetoplayer
es verdadero (es decir, la canción se está reproduciendo) y, si es así, enviamos el mensaje con incrustación usandointeraction.reply({ embeds: [embed] })
.Si estas soluciones no funcionan, no dudes en proporcionar información adicional, como cualquier mensaje de error que estés recibiendo o el código completo de tu bot. ¡Buena suerte!