Me está costando entender la documentación de discord.js. Estoy buscando que mi bot desconecte a un usuario en función de su ID de usuario.
Mi código sería idealmente algo como esto:
function disconnectUser(userID){ userID.disconnect(); return; }El código que he probado es variaciones de:
function disconnectUser(userID){ userID.VoiceState.disconnect(); return; }Y me sale el error:
TypeError: Cannot read properties of undefined (reading 'disconnect')Cualquier ayuda sería muy apreciada :)
Simplemente necesita buscar al miembro y llamar al método voiceState#disconnect() en ellos de la siguiente manera:
async function disconnect(userID){ let user = await client.users.fetch(userID) user.voice.disconnect(); }Para llamarlo, simplemente necesita pasar un copo de nieve (ID de usuario) como parámetro de la función de la siguiente manera:
disconnect(1234567890123456); El método voiceState#disconnect() se llamaba voiceState#kick() en v12, por lo tanto, tendría que realizar los cambios adecuados si estuviera en v12.
Al igual que:
async function disconnect(userID){ let user = await client.users.fetch(userID) user.voice.kick(); }La voz no es un atributo de "usuarios", es solo un miembro de "guild.members". "guild.members" se crea cuando un usuario se une a un VC y se accede a él a través de un mensaje o una interacción. En mi caso, usando comandos de barra inclinada, obtuve el gremio al pasar la interacción a la función desconectarUsuario(). La función de desconexión de trabajo funciona de la siguiente manera:
async function disconnectUser(userID, interaction){ let user = await interaction.guild.members.fetch(userID); user.voice.disconnect(); }Donde la interacción es esencialmente lo mismo que el mensaje.