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

202
Visualizações
¿Cómo obtengo la información de la base de datos antes de enviar un mensaje?

Actualmente estoy creando un bot de discord con discord.js v13. En este momento tengo una base de datos donde se almacenan el guild.id y el prefijo estándar de un servidor. Ahora quiero reescribir un comando que se activa con el prefijo y el nombre del comando, como este '!somecommand'. Actualmente, mi prefijo está definido en el archivo con una variable const, pero quiero que el bot verifique la base de datos en busca del prefijo que tiene el servidor y use este en su lugar. Estoy comprobando el prefijo en la base de datos con esta parte del código:

 pool.getConnection(function(err, connection) { if (err) throw err; let sql = `SELECT * FROM custom_prefix WHERE guild_id = '${message.guild.id}'`; connection.query(sql, async function (err, result) { if (err) throw err; console.log(result[0].prefix) connection.release(); }); });

La salida es el prefijo actual del servidor donde se activó el comando, hasta ahora todo funciona bien. Pero como dije, quiero que la salida del código anterior sea el prefijo con el que se activa el bot.

Ya intenté hacerlo, pero siempre me equivoco. La mayoría de las veces, el bot verifica la base de datos demasiado lento y el resultado será 'indefinido'. No sé cómo hago para que el bot espere el resultado de la base de datos, verifique si este resultado es realmente el prefijo y luego ejecute el comando.

Estoy feliz con cualquier respuesta :-) Si necesita más información, hágamelo saber.

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

Supongo que pusiste el código que usa el resultado fuera de la devolución de llamada.

 pool.getConnection(function(err, connection) { if (err) throw err; let sql = `SELECT * FROM custom_prefix WHERE guild_id = '${message.guild.id}'`; connection.query(sql, async function (err, result) { if (err) throw err; console.log(result[0].prefix) connection.release(); // // Put your code that uses result[0].prefix here // }); }); // // Do not put your code that uses result[0].prefix here //
about 4 years ago · Santiago Gelvez 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