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

139
Views
¿Cómo usar un resultado SQL en Discord.JS SelectMenus?

Estoy tratando de agregar Opciones a un SelectMenu desde una solicitud de SQL. Mi código es el siguiente:

 case "edit":{ const editrow = new MessageActionRow(); let query = `SELECT * FROM tickettypes WHERE guild_id = '${interaction.guild.id}'` const editmenu = new MessageSelectMenu() .setCustomId('editselect') .setPlaceholder('🔧 Select tickettype to edit') .addOptions([ { label: 'None', description: 'Empty', value: 'none', },]) await sql.query(query, function(err, result) { if(err) throw err; console.log(result) result.forEach(item => { editmenu.addOptions([ { label: '' + item.name, description: '' + item.name, emoji: '' + item.emoji, value: '' + item.id, }, ]); }); }); editmenu.addOptions([ { label: '2 Test', description: 'Empty', value: 'test', }, ]) editrow.addComponents(editmenu); const editembed = new MessageEmbed() .setColor('YELLOW') .setTitle('Edit tickettype') .setAuthor({ name: interaction.user.username}) .setDescription('Select the tickettype you want to edit') await interaction.reply({ embeds: [editembed], components: [editrow], ephemeral: true}) } break;

Mi consola me está dando el siguiente resultado:

 [SQL] Connected to the MySQL server! Connection ID: 95 [DISCORD] Succesfully established connection to Discord! [ RowDataPacket { id: 1, name: 'Test', emoji: '<:thumbsup:>', guild_id: 933323734322913300, prefix: 'test', openheader: 'Test Ticket', openmsg: 'Welcome, this is a test.' } ]

No hay errores. Todavía Discord no lo agrega. Se parece a esto:

Vista de discordia del menú de selección

No tengo ni idea, lo que hice mal. Por favor, ayúdame. Gracias por adelantado

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

0

Cuando obtiene los datos de sql, su código no los espera. En cambio, continúa y la función de devolución de llamada que proporcionó en la consulta solo se ejecutará una vez que se complete la consulta. Es por eso que tiene la opción de 2 Test pero no tiene las opciones de resultados. Una forma de solucionarlo sería mover todo el código después del resultado a la función de devolución de llamada, luego solo se ejecutarían una vez que se completara la consulta.

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!