Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

138
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda