Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

223
Vistas
Discord JS TypeError: no se pueden leer las propiedades de undefined (leyendo 'roles')

Estoy creando un evento que verifica una base de datos monogo en un intervalo establecido para ver si hay claves caducadas y luego eliminar un rol de ese miembro.

 const mongoose = require("mongoose") const { Discord, GuildMemberRoleManager, GuildMember, Guild, Client, Message } = require("discord.js"); const { Database } = require("../../Structures/config.json"); const { count, key } = require("../../Structures/Schemas/keys"); const keys = require('../../Structures/Schemas/keys'); module.exports = { name: "ready", permission: "ADMINISTRATOR", /** * @param {Message} oldMessage * @param {GuildMemberRoleManager} * @param {GuildMember} member * @param {Guild} guild * @param {Client} client */ async execute(client, member, guild) { setInterval(() => { keys.count({ redeemed: true }, async function( err, results ){ console.log(results) console.log("Number of keys:", results); const counts = results; const keyfind = await keys.findOne({ redeemed: true }); for(let i = 0; i < counts; i++){ keys.findOne({ redeemed: true }, 'redeemedAt expiryAt userid', async function (err, keys){ if (err) return handleError(err); const currentTime = new Date(Date.now()) const expirationDate = keys.expiryAt; const timeout = currentTime - expirationDate; const role = guild.roles.cache.get('924064535663480922'); const member = await guild.members.fetch(keys.userid); console.log(timeout) if (timeout < -1){ await keys.then(keyfind.delete()); member.roles.remove(role); } }) } }); }, 3500); } }

Sigo recibiendo este error cada vez que se ejecuta el evento "Error de tipo: no se pueden leer las propiedades de undefined (leyendo 'roles')".

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Desafortunadamente, es bastante difícil darle una respuesta concluyente con los detalles que proporcionó.

Sabemos que está intentando acceder a algo que no está definido. ¿Está seguro de que guild se ha pasado correctamente a su función y ha comprobado si su búsqueda de member funciona correctamente?

Saludos

about 4 years ago · Juan Pablo Isaza Denunciar

0

Haría algo como esto (si tiene un mensaje definido):

const role = message.guild.roles.cache.get(r => r.I'd ==='924064535663480922');

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda