Cannot read properties of undefined (reading 'id') error.
i get an error called Cannot read properties of undefined (reading 'id'), when i try to mute someone. how can i solve this.
mute file:
const ms = require('ms');
module.exports = {
name: 'mute',
description: "This command mutes a member!",
execute(client, message, args) {
const { member, mentions } = message
const tag = `<@${member.id}>`
const target = message.mentions.users.first();
if (
member.hasPermission('ADMINISTRATOR') ||
member.hasPermission('MANAGE_ROLES')
) {
if (target) {
// let mainRole = message.guild.roles.cache.find(role => role.name === 'Member');
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(`${tag}, <@${memberTarget.user.id}> has been muted.`);
return
}
// memberTarget.roles.remove(mainRole.id);
memberTarget.roles.add(muteRole.id);
message.channel.send(`${tag}, <@${memberTarget.user.id}> has been muted for **${ms(ms(args[1]))}**.`);
setTimeout(function () {
memberTarget.roles.remove(muteRole.id);
// memberTarget.roles.add(mainRole.id);
}, ms(args[1]));
} else {
message.channel.send(`${tag}, Please specify a user to mute.`);
}
} else {
message.channel.send(`${tag}, You do not have permission to use that command.`);
}
}
}
please help me thank you
If you wanted to use the member's id, you need to fetch or cache it.
message.guild.members.fetch(args[0]) || message.guild.members.cache.get(args[0])
Then to call the member. message.user.id || message.id