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

175
Views
Conteo de números de mapa
let adminMap = new Map() async function orionCheck(interaction, adminMap) { const guild = await client.guilds.fetch(General.SERVER.ID) const members = await guild.members.fetch() var memberList = []; members.forEach(member => memberList.push(member.user.id)); for (let i = 0; i < memberList.length; i++) { if (members.get(memberList[i]).roles.highest.permissions.has("ADMINISTRATOR")) adminMap.set(members.get(memberList[i]).user.id, {BPM: 0, KPM: 0}) //console.log(members.get(memberList[i]).user.id) } var orionObjects = { banObject: ["API/Orion Objects/OrionData.json", "Ban", "BPM", adminMap.get(interaction.user.id).BPM], kickObject: ["API/Orion Objects/Kickbject.syrex", "Kick", "KPM", adminMap.get(interaction.user.id).KPM] } var objectPick = orionObjects.unknown; if (interaction.commandName == 'ping' && General.SERVER.CHANNELS.LOGS !== "") { objectPick = orionObjects.banObject; if (client.orion == undefined) { client.orion = adminMap; console.log(client.orion.get(interaction.user.id), "client.orion made") } else { client.orion.set(client.orion.get(interaction.user.id).BPM, client.orion.get(interaction.user.id).BPM++) console.log(client.orion.get(interaction.user.id)) //console.log(client.orion) } } else return; //ping and topic cmds are used as placeholder for ban and kick if (interaction.commandName == 'topic' && General.SERVER.CHANNELS.LOGS !== "") { } else return; } client.on('interactionCreate', async interaction => { if (!interaction.isCommand()) return; orionCheck(interaction, adminMap); });

este es un código para cada vez que se ejecuta un comando, agrega 1 a su usuario específico en un mapa, que es para lo que está el mapa. el cliente.orion se establece en el mapa para que lo recuerde cada vez que se ejecuta el comando y hace que el mapa sea ejecutable globalmente. la declaración if está comprobando si el cliente.orion ya se hizo y si no está definido, lo hace. bastante simple. pero el problema es que, por alguna razón, al iniciar, ejecuta el comando. hace el cliente.orion, luego lo ejecuta nuevamente y hace la declaración else ya que ahora el cliente.orion ya existe y agrega uno a la matriz. pero cuando lo ejecuta por tercera vez, se queda en uno como se muestra

https://i.imgur.com/Uve78bx.png

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Esta no es una solución a su problema particular (pero tal vez pueda proporcionar algunas pistas sobre a qué me refería en los comentarios).

En un objeto Map, set toma dos parámetros, la clave y el valor.

Tienes esta línea en tu bloque else:

 client.orion.set((interaction.user.id).BPM, client.orion.get(interaction.user.id).BPM++)

Tenga en cuenta que la "clave" no está definida porque (interaction.user.id).BPM no existe.

Deberías tener esta línea en su lugar:

 client.orion.set(interaction.user.id, client.orion.get(interaction.user.id).BPM++)

Pensé que era extraño cuando probé su código en ambos sentidos (como indefinido y como definido) y obtuve los mismos resultados. Pero lo que realmente sucede es que set() no funciona cuando la clave que se le pasó no está definida. En cambio, el código en el parámetro de valor está funcionando (aunque set() no lo esté):

 client.orion.get(interaction.user.id).BPM++

ADEMÁS:

Su parámetro de valor para set() tiene un error lógico en el sentido de que se supone que es un objeto. Le estás pasando un número entero. No encontró los resultados inesperados que esto creará porque hasta ahora su set() no funciona debido a la clave indefinida.

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!