当我在命令中使用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.');
});
}