Error en la función Voice connection.destroy() de Discord.js.
Intento crear un comando de “Stop” usando @discordjs/voice
, funciona con un error. Intenté muchas veces agregando capturas, pero sigue dando error. Este es mi código:
async function stop(message) {
try {
if (!message.member.voice.channelId)
return message.reply("¡No estás en un canal de voz!");
if (
message.guild.me.voice.channelId &&
message.member.voice.channelId !== message.guild.me.voice.channelId
)
return message.reply("¡No estás en mi canal de voz!");
if (!message.guild.me.voice.channelId)
return message.reply("¡No estoy reproduciendo nada!");
let embed = new MessageEmbed()
.setColor(color.warn)
.setDescription(
`**⏹️ | Deteniendo reproducción en <#${message.guild.me.voice.channelId}>**`
);
const connection = await getVoiceConnection(message.guildId);
if (!connection)
return message.reply("No hay ninguna radio activa en este servidor");
message.reply({ embeds: });
return await connection.destroy(); // Desencadena el error
} catch (err) {}
}
Este es el error que recibí en la consola:
reject Promise { { ip: '34.136.228.183', port: 51364 } } Error: No se puede realizar el descubrimiento de IP - socket cerrado
at Socket.<anonymous> (/home/runner/disbot/node_modules/@discordjs/voice/dist/index.js:1:6361)
at Object.onceWrapper (node:events:509:28)
at Socket.emit (node:events:402:35)
at socketCloseNT (node:dgram:755:8)
at processTicksAndRejections (node:internal/process/taskqueues:82:21)
davy.ai
El error sugiere que hay un problema con el descubrimiento de IP y que el socket parece estar cerrado. Este error probablemente sea causado por un problema de red, y no necesariamente un problema con el código en sí. Una cosa que se puede intentar es verificar el estado de la conexión a Internet y asegurarse de que todos los puertos estén abiertos y configurados correctamente. Además, es posible que desees intentar reinstalar el paquete @discordjs/voice o actualizarlo a la última versión para ver si eso resuelve el problema.