在命令中使用connection.query时不起作用

时间:2019-03-03 21:37:01

标签: mysql node.js discord.js

当我在命令中使用con(nection).query(whatever);时,它永远不会运行。没有日志,没有错误,什么都没有。它只是没有运行。查询前后一切正常,但是查询本身未运行。

使用的框架:discord.js

命令为:

client.on('message', async message => {
    const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
    const command = args.shift().toLowerCase();

运行查询的命令是:

if(command === 'vincular') {
 const invalid = false;
 var user_id;
 var invalidado;
      if(!con._connectCalled ) { 
           con.connect();
           console.log('Base de datos conectada.'); 
         }
      con.query(`SELECT user_discord, user_id FROM u_miembros WHERE user_name = '${linkNick}'`), function(err, result, field) {
           if(!result.length) return message.channel.send('No existe un usuario con este nombre.');
           invalid = true;
           if(result[0].user_discord.length > 0) return message.channel.send('Este usuario ya vinculo su cuenta de Craper.');
           invalid = true;
           user_id = result[0].user_id
      }
      var linkNick = args[0];
      var linkToken = token(16);
      if(invalid === true) return;
      if(!linkNick) return message.channel.send('Vincula tu cuenta de Craper con Discord.');
      message.channel.send(`Bien, ${linkNick}. Para seguir con el proceso de vinculación tendras que editar el mensaje personal de tu perfil para verificar que eres tú y así permitir enlazar tu cuenta.\nTu token es: **${linkToken}**\nAl terminar de poner el token,  escribe **listo** en el chat. (Tienes 5 minutos para hacerlo. Poner cualquier otro mensaje anulará el proceso de vinculación)`);
      const filter = m => m.content.includes('listo') && m.author.id === message.author.id
   var confirmacion = message.channel.awaitMessages(filter, {
        max: 1,
        time: 300000,
        errors: ['time']
   }).then((collected) => {
      let userid = message.author.id;
      con.query(`SELECT p_mensaje FROM u_perfil WHERE user_id = '${user_id}'`), function(err, result, field) {
           if(result[0].p_mensaje !== linkToken) { 
                message.channel.send('El usuario no introdujo el token en su mensaje.')
                invalidado = true;
                return;
           }
           if(result[0].p_mensaje === linkToken) {
                const mensaje = result[0].p_mensaje;
      if(invalidado === true) return;
      message.channel.send('El bot procederá a vincular su cuenta.');
      con.query(`UPDATE u_miembros SET user_discord = '${userid}' WHERE user_id = '${user_id}'`);
      invalidado = false;
      invalid = false;
      }
 }
 }).catch(function() {
      return message.channel.send('No hubo respuesta por el usuario. Cerrando proceso de vinculación.');
 });
 }

0 个答案:

没有答案