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

250
Vistas
un sistema de inventario discord.js que muestra la lista completa

He estado tratando de averiguar cómo hacer un sistema de inventario que muestre la lista completa de artículos de esa categoría + una cantidad de usuarios de ese artículo, por ejemplo:

si alguien hace >inv fruits , mostraría:

  • manzana - 0
  • plátano - 1
  • naranja - 3

si hicieran >inv candy , mostraría una lista de elementos diferentes:

  • chocolate - 2
  • piruleta - 0
  • bolos - 0

Guardo el user_id de usuario, la category , item y la quantity en la tabla de mi base de datos y tengo la lista de artículos en una categoría almacenada en un archivo JSON.

En este momento, solo descubrí cómo extraer el artículo y la cantidad que un usuario tiene de la base de datos, pero ¿cómo mostraría la lista de artículos y haría coincidir el nombre del artículo con la cantidad como en los ejemplos anteriores?

CÓDIGO HASTA AHORA:

 const ValidGroup = args[0]; getInventory(user_id = `${message.author.id}`, group_name = `${ValidGroup}`).then(([rows]) => { const InvEmbed = new MessageEmbed() .setAuthor(`${message.author.username} | Inventory`) .setTimestamp(); let cardString = " "; Object.keys(rows).forEach(function (key) { //GET DATA const row = rows[key]; let cardCode = row.card_name; let cardQuan = row.quanity; //CARD ARRAY FORMAT let cardArray = `${Code} | ${CardFullName} - ${cardQuan}` let invArray = cardArray.split("\n") cardString += `\n${invArray}` }); InvEmbed.setDescription(cardString); message.channel.send({ embeds: [InvEmbed] }); });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Lo primero que me di cuenta al leer tu código fue la parte en la que hiciste esto:

 cardArray.split("\n")

En primer lugar, cardArray no es una matriz . Si es una matriz, debe especificar qué es cada elemento en params, ya que las personas no pueden entender qué es un determinado elemento a menos que lo mencione. Puede obtener información sobre cómo hacerlo en: https://jsdoc.app/tags-param.html .

cardArray es una cadena!

 const ValidGroup = args[0]; getInventory(user_id = `${message.author.id}`, group_name = `${ValidGroup}`).then(([rows]) => { const InvEmbed = new MessageEmbed() .setAuthor(`${message.author.username} | Inventory`) .setTimestamp(); let cardString = " "; Object.keys(rows).forEach(function (key) { //GET DATA const row = rows[key]; let cardCode = row.card_name; let cardQuan = row.quanity; //CARD ARRAY FORMAT let card = `${Code} | ${CardFullName} - ${cardQuan}` cardString += `${card}\n` }); InvEmbed.setDescription(cardString); message.channel.send({ embeds: [InvEmbed] }); });

Cambié el código eliminando invArray y reemplazando cardArray con 'card'. También reemplacé \n al frente y lo moví hacia atrás, por lo tanto, no habría un descanso adicional al comienzo de su descripción.

También puede intentar agregar la captura de errores o verificar si el usuario tiene algo en su inventario; de lo contrario, puede causar ciertos errores, como que MessageEmbed tenga una descripción vacía.

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