-5
  if(target.roles.cache.has('937250064894664734')){
                   ^

TypeError: Cannot read properties of undefined (reading 'cache') at Object.execute (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\commands\mute.js:6:24) at Client. (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\main.js:57:37) at Client.emit (node:events:390:28) at MessageCreateAction.handle (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\node_modules\discord.js\src\client\actions\MessageCreate.js:34:18) at Object.module.exports [as MESSAGE_CREATE] (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32) at WebSocketManager.handlePacket (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:351:31) at WebSocketShard.onPacket (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22) at WebSocketShard.onMessage (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10) at WebSocket.onMessage (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\node_modules\ws\lib\event-target.js:199:18) at WebSocket.emit (node:events:390:28)

The Error

module.exports ={ name: 'mute', description: 'Mute Command', execute(message, args){ const target = message.mentions.users.first(); if(target.roles.cache.has('937250064894664734')){ if(target){ let mainRole = message.guild.cache.find(role => role.name === 'member') let mutedRole = message.guild.cache.find(role => role.name === 'muted')

        let memberTarget = message.guild.members.cache.get(target.id);
        memberTarget.roles.remove(mainRole.id)
        memberTarget.roles.add(mutedRole)

        message.channel.send("Kullanici Susturulmustur!")
    }

    else{
        message.channel.send("Kullanici Bulunamamistir!")
    }
   }

   else{
       message.channel.send("Bu Komutu Kullanmak Icin Yetkin Yoktur!")
   }
}

}

The Code

1 Answers1

0

It means that whether target.roles or target itself is undefined. You should validate it first such as:

 if (target && target.roles && target.roles.cache && target.roles.cache.has('937250064894664734')) {
   ....
 }

Anyway, you can just

 if (target?.roles?.cache?.has('...')) {
  ...
 }
Juan Carlos
  • 146
  • 2
  • 10