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

146
Vistas
Intentando obtener valor del objeto usando una URL externa pero

Cuando inicio la consola de bot, digo:

 Online with undefined/5

y cuando pasan 10 segundos da este error:

indefinido: 1 [promesa de objeto] ^ SyntaxError: token inesperado o en JSON en la posición 1

Mi código:

 let jogadores client.on("ready", async () => { async function players_online() { const response = fetch(`http://ip:port/dynamic.json`); const data = JSON.parse(response); jogadores = data.clients; } async function autoconnect() { if (jogadores === -1) { console.log('Offline'); } else { console.log('Online with ' + jogadores + '/5') } } autoconnect() setInterval(() => { client.user.setStatus('dnd'); client.user.setActivity(`Online with ${jogadores} players.`, { type: 'PLAYING' }) players_online() }, 10000) })
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Tienes bastantes problemas con tu código. Los enumeraré a continuación:

Arreglos requeridos

  • Como dijo @ about14sheep , debe usar await para obtener la respuesta real.
  • Se supone que no debes usar JSON.parse() en una respuesta, sino response.json() para obtener el cuerpo JSON.
  • Uso de un operador incorrecto, para números te sugiero que uses == que ===
  • Antes de que hayan pasado 10 segundos, se mostrará indefinido. Para arreglar esto, llame a la función antes de setInterval() .

Cosas opcionales que agregué

  • Código JS formateado
  • Puntos y comas agregados cuando sea necesario
  • Función de literales de plantilla ES6 usados
  • Async eliminado cuando no es necesario

He solucionado todos estos problemas en el siguiente código.

 let jogadores; client.on('ready', async () => { async function players_online() { const response = await fetch(`http://ip:port/dynamic.json`); const data = await response.json(); jogadores = data.clients; } function autoconnect() { if (jogadores == -1) { console.log('Offline'); } else { console.log(`Online with ${jogadores}/5`); } } autoconnect(); players_online(); setInterval(() => { client.user.setStatus('dnd'); client.user.setActivity(`Online with ${jogadores} players.`, { type: 'PLAYING' }); }, 10000); });
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