Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

380
Visualizações
discord.js v13 TypeError: no se pueden leer las propiedades de undefined (leyendo 'presencia')

Estoy tratando de hacer un comando de broma con mis amigos para prohibir a las personas que juegan Roblox o si tiene el estado del juego Roblox. He buscado todo en Internet y en el desbordamiento de pila si hay una solución, pero no puedo encontrar ninguna que funcione. Aquí está mi código:

 module.exports = async (client) => { const guild = client.guilds.cache.get('877016354581004389'); if(guild){ setInterval(async () => { if(!guild.me.permissions.has('ADMINISTRATOR')) return; const channel = guild.channels.cache.get('877016354581004392'); if(!channel) return console.log('ANNOUNCEMENT CHANNEL NOT FOUND...') let bannedAmount = 0; await guild.members.fetch().then(members => { members.forEach(member => { for(const allMember of Object.keys(member)){ if(allMember.user.presence.activities){ const activity = allMember.user.presence.activities[0] if(activity.name.toLowerCase() == "roblox"){ channel.send(`${allMember} got banned because he's playing ROBLOX!!`) allMember.ban({ reason: `he played roblox lol`}); bannedAmount = bannedAmount + 1 break; } } } }) }); let members; if(bannedAmount > 1) members = 'members'; let kid; if(bannedAmount > 1) kid = 'kids'; if(bannedAmount <= 0 || null){ console.log(`No member banned for playing Roblox...`); } else if(bannedAmount > 0) { channel.send(`${bannedAmount} ${kid || 'kid'} got banned in this server for playing Roblox. Don't do it kids!`) console.log(`${bannedAmount} ${members || 'member'} got banned for playing Roblox...`) } }, 20000); } }

No tengo ningún odio con el juego, los chicos de Roblox solo están jugando jajaja

PD: ya he habilitado intentos en el sitio web de discord dev y también en el archivo index.js y también he usado <member>.presence.activities pero parece que solo el usuario tiene la propiedad de presencia.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Bueno, el problema es que GuildMember#presence devuelve una clase Presence O undefined , porque es una propiedad opcional . Lo que hace en su código es tomar la propiedad de presencia de un usuario que probablemente no tenga presencia y es por eso que allMember.user.presence devuelve undefined y allMember.user.presence.activities[0] también. También ten en cuenta que tomas el Usuario de un miembro, pero las presencias van en GuildMembers y no en Usuarios.

Depuración:

  • Simplemente use allMember en lugar de allMember.user , de modo que tome la presencia de un GuildMember en lugar de un usuario , después de esto, un miembro que tenga presencia también devolverá los datos de presencia.
  • Agregue una declaración if que controle si un miembro tiene presencia o no, para que no vuelva a ejecutar el mismo error.
  • No sé si pensaste en esto, pero si un miembro tiene más de una presencia y la primera presencia en la matriz no es Roblox, pero por ejemplo, la segunda presencia en la matriz es Roblox, el miembro no será baneado. .

Espero que esto te ayude, si tienes preguntas solo contáctame en Discord ~ Iliannnn#0001

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda