Error
if (member.roles.highest.position >= interaction.member.roles.highest.position) {
^
TypeError: Cannot read properties of undefined (reading 'highest')
Code
const { SlashCommandBuilder, EmbedBuilder, PermissionFlagsBits } = require("discord.js");
module.exports = {
data: new SlashCommandBuilder()
.setName("kick")
.setDescription("Kick a member from the server")
.setDMPermission(false)
.setDefaultMemberPermissions(PermissionFlagsBits.KickMembers)
.addUserOption(option =>
option.setName("member")
.setDescription("Select a member to kick")
.setRequired(true)
).addStringOption(option =>
option.setName("reason")
.setDescription("Provide a reason for the kick")
.setRequired(false)
),
async execute(interaction) {
const { options, client, guild } = interaction;
const user = options.getUser("member");
const member = await guild.members.fetch(user.id);
const clientMember = guild.members.me;
if (clientMember.permissions.has(PermissionFlagsBits.KickMembers)) {
console.log(member.roles);
if (member.roles.highest.position >= interaction.member.roles.highest.position) {
return interaction.reply({
embeds: [
new EmbedBuilder()
.setColor(client.config.colors.error)
.setDescription(`You can't take action on **${member.user.displayName}** because they have higher permissions.`)
]
});
}
} else {
}
}
}