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

256
Views
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 answers
Answer question

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 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!