Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

379
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!