Estoy escribiendo un código para silenciar miembros en mi servidor, así que
Recibo un error que dice "No se pueden leer las propiedades de undefined (leyendo 'id')" cuando intento silenciar a un miembro
código:
const ms = require('ms'); module.exports = { name: "mute", description: "this command mutes a member", execute(message, args) { const target = message.mentions.users.first(); if (target) { let mainRole = message.guild.roles.cache.find('941742955910275153'); let muteRole = message.guild.roles.cache.find(role => role.name === 'Muted'); let memberTarget = message.guild.members.cache.get(target.id); if (!args[1]) { // memberTarget.roles.remove(mainRole.id) memberTarget.roles.add(muteRole.id); message.channel.send(`<@${memberTarget.user.id}> has been muted`); return } // memberTarget.roles.remove(mainRole.id) memberTarget.roles.add(muteRole.id); message.channel.send(`<@${memberTarget.user.id}> has been muted for ${ms(ms(args[1]))}`); setTimeout(function () { // memberTarget.roles.remove(mainRole.id) memberTarget.roles.remove(muteRole.id) message.channel.send(`<@${memberTarget.user.id}> has been muted`); }, ms(args[1])); } else { message.channel.send("can't find the user!"); } } } const ms = require('ms'); const mute = { name: 'mute', description: 'this command mutes a member', execute(message, args) { const target = message.mentions.users.first(); if (target) { const mainRole = message.guild.roles.cache.find('941742955910275153'); const muteRole = message.guild.roles.cache.find( (role) => role.name === 'Muted', ); const memberTarget = message.guild.members.cache.get(target.id); if (!args[1]) { // memberTarget.roles.remove(mainRole.id) memberTarget.roles.add(muteRole.id); message.channel.send(`<@${memberTarget.user.id}> has been muted`); return; } // memberTarget.roles.remove(mainRole.id) memberTarget.roles.add(muteRole.id); message.channel.send( `<@${memberTarget.user.id}> has been muted for ${ms(ms(args[1]))}`, ); setTimeout(function () { // memberTarget.roles.remove(mainRole.id) memberTarget.roles.remove(muteRole.id); message.channel.send(`<@${memberTarget.user.id}> has been muted`); }, ms(args[1])); } else { message.channel.send("can't find the user!"); } }, }; module.exports = mute;¡intenta leer tu código cuidadosamente!
Debe definir muteRole, ¡y el código debería funcionar ahora!
Además, ¡siempre es bueno consultar con console.log en la página web!