if(target.roles.cache.has('937250064894664734')){ ^TypeError: no se pueden leer las propiedades de undefined (leyendo 'caché') en Object.execute (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\commands\mute.js:6:24) en Client. (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\main.js:57:37) en Client.emit (node:events:390:28) en MessageCreateAction.handle (C:\Users \mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\node_modules\discord.js\src\client\actions\MessageCreate.js:34:18) en Object.module.exports [como MESSAGE_CREATE] (C:\Users \mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32) en WebSocketManager.handlePacket (C:\Users\mihri\OneDrive \Desktop\Adomis\Bot\Adomis-Bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:351:31) en WebSocketShard.onPacket (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot \Adomis-Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22) en WebSocketShard.onMessage (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\node_modules \discord.js\src\client\websocket\WebSocketShard.js:301:10) en WebSocket.onMessage (C:\Users\mihri\OneDrive\Desktop\Adomis\Bot\Adomis-Bot\node_modules\ws\li b\event-target.js:199:18) en WebSocket.emit (nodo:eventos:390:28)
El error
módulo.exportaciones ={ nombre: 'silenciar', descripción: 'Comando de silencio', ejecutar (mensaje, argumentos){ const objetivo = mensaje.menciones.usuarios.primero(); if(target.roles.cache.has('937250064894664734')){ if(target){ let mainRole = message.guild.cache.find(role => role.name === 'member') let mutedRole = mensaje. guild.cache.find(rol => rol.name === 'silenciado')
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!") } }}
El código
Significa que si target.roles o target en sí mismo no está definido. Primero debe validarlo como:
if (target && target.roles && target.roles.cache && target.roles.cache.has('937250064894664734')) { .... }De todos modos, puedes simplemente
if (target?.roles?.cache?.has('...')) { ... }