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

181
Visualizações
Tener problemas con keyArray al actualizar a discord.js v13

Estoy codificando un comando de reinicio de clasificación de todos los miembros usando djs v13. Usé el mismo código pero con djs v12 y funcionó correctamente. Este es mi código:

 function resetrankingall() { let allmembers = message.guild.members.cache.keyArray(); for (let i = 0; i < allmembers.length; i++) { let rankuser = message.guild.members.cache.get(allmembers[i]).user; const key = `${message.guild.id}-${rankuser.id}`; client.points.set(key, 1, `level`); //set level to 0 client.points.set(key, 0, `points`); //set the points to 0 client.points.set(key, 400, `neededpoints`) //set neededpoints to 0 for beeing sure client.points.set(key, "", `oldmessage`); //set old message to 0 } const embed = new Discord.MessageEmbed() .setColor(embedcolor) .setDescription(`Successfully resetted everyone`) message.reply({ embeds: [embed] });

Pero cuando actualizo a djs v13 aparece este error:

 let allmembers = message.guild.members.cache.keyArray() ^ TypeError: message.guild.members.cache.keyArray is not a function

Investigué un poco sobre el documento de djs y encontré esto:

haga clic para ver la imagen

Así que traté de reemplazar keyArray() con keys() y el error desapareció, pero desafortunadamente el comando tampoco funcionó. Mi código después de reemplazar:

 function resetrankingall() { let allmembers = message.guild.members.cache.keys() for (let i = 0; i < allmembers.length; i++) { let rankuser = message.guild.members.cache.get(allmembers[i]).user; const key = `${message.guild.id}-${rankuser.id}`; client.points.set(key, 1, `level`); //set level to 0 client.points.set(key, 0, `points`); //set the points to 0 client.points.set(key, 4000, `neededpoints`) //set neededpoints to 0 for beeing sure client.points.set(key, "", `oldmessage`); //set old message to 0 } const embed = new MessageEmbed() .setColor(embedcolor) .setDescription(`Successfully resetted everyone`) message.reply({ embeds: [embed] });

El bot aún responde con la inserción cuando ejecuto el comando, pero no funciona (la clasificación de todos aún no se ha restablecido). ¡Por favor ayúdame, Tysm!

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

0

He resuelto este problema reemplazando alguna línea de código:

 async function resetrankingall() { const allGuildMembers = await message.guild.members.fetch(); for (const guildMember of allGuildMembers.values()) { const key = `${message.guild.id}-${guildMember.user.id}`; client.points.set(key, 1, `level`); //set level to 0 client.points.set(key, 0, `points`); //set the points to 0 client.points.set(key, 4000, `neededpoints`) //set neededpoints to 0 for beeing sure client.points.set(key, "", `oldmessage`); //set old message to 0 } const embed = new MessageEmbed() .setColor(embedcolor) .setDescription(`Successfully resetted everyone`) message.reply({ embeds: [embed] });

Funciona como se esperaba. El problema puede provenir de las diferencias entre djs v12 y v13. Gracias a todos por leer mi pregunta aunque.

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