Hice este comando para "despertar" a los miembros moviéndolos 10 veces entre 2 canales de voz. Se supone que funciona si tiene los permisos de administrador (aunque probablemente cambiará eso en el futuro) y si se usa incorrectamente, devuelve el uso correcto en una inserción. Todo funciona EXCEPTO para el movimiento real de los usuarios y no puedo descifrar cómo mover miembros. ¿Alguna ayuda? Mi código:
const { Permissions,MessageEmbed } = require('discord.js') module.exports = { name: 'pobudka', description: "Budzi gracza.", execute(message, args) { const target = message.mentions.members.first() const usageEmbed = new MessageEmbed() //the embed sent if the usage is incorrect .setColor('ff0004') .setTitle('Poprawne użycie') .addField('rp pobudka @user', 'zamienić @user na wzmiankę użytkownika') if(message.member.permissions.has(Permissions.FLAGS.ADMINISTRATOR)) //checking if the invoking member has the administrator perms to use the command { if(target) { for(let i = 10; i > 0; i--) //loop for changing the voice channels 10 times { message.guild.member(target.id).voice.setChannel("940573437561303080") //moving the member to a different voice channel message.guild.member(target.id).voice.setChannel("946790140003631165") //moving the member to a different voice channel } } else { message.reply({ embeds: [usageEmbed]}) //sending the usage embed } } else { message.reply("Nie możesz tego użyć.") //replying if the invoking member doesnt have administrator perms } } }El error que estoy recibiendo:
C:\Users\Miki\Desktop\dc bots\jajco bot smol\commands\pobudka.js:22 message.guild.member(target.id).voice.setChannel("940573437561303080") ^ TypeError: message.guild.member is not a function at Object.execute (C:\Users\Miki\Desktop\dc bots\jajco bot smol\commands\pobudka.js:22:35) at Client.<anonymous> (C:\Users\Miki\Desktop\dc bots\jajco bot smol\main.js:134:44) at Client.emit (node:events:520:28) at MessageCreateAction.handle (C:\Users\Miki\Desktop\dc bots\jajco bot smol\node_modules\discord.js\src\client\actions\MessageCreate.js:26:14) at Object.module.exports [as MESSAGE_CREATE] (C:\Users\Miki\Desktop\dc bots\jajco bot smol\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)(y sí, los mensajes de respuesta están en polaco porque esto no es solo para mí, sino para un pequeño servidor que es, lo adivinaste, polaco)
La razón por la que se produce un error es porque necesita buscar los miembros de la memoria caché, pero como se mencionó anteriormente, el objetivo ya es un objeto miembro.
Para encontrar miembros necesitas codificarlo así
message.guild.members.cache.get(target.id)o así
message.guild.members.cache.find(member => member.id === target.id)