Discord Bot [Поля не обновляются] - PullRequest
0 голосов
/ 02 мая 2020

В настоящее время я пытаюсь создать систему повара ie для своего бота.

В основном, когда пользователь что-то печатает и имеет уровень 0 или не вставлен в базу данных, его идентификатор сохраняется вместе с уровень, общее количество файлов cookie и файлы cookie, необходимые для следующего уровня.

Когда пользователь что-то вводит, скрипт должен удалить 2 CookiesReq из таблицы и добавить 2 Cookies в таблицу. Но когда это происходит, ничего не обновляется. Вот вывод, который я получаю в консоли.

Marky este acum pe val! Cookies: не определено Cookieseq: не определено Уровень: не определено Автор: 309333602129281027 Cookies2: не определено Cookiesreq2: не определено Level2: undefined

Вот код:

 const sql = `SELECT * FROM cookies WHERE Author = '${message.author.id}'`;
    con.query(sql, function(err,result, fields)
    {
      if(err) throw err; // WHERE Author = '${message.author.id}'
      cookreq = 0;
      getlevel = 0;
      cook = 0;
      cook = fields[1].Cookies;
      getlevel = fields[2].Level;
      cookreq = fields[3].CookiesReq;
      console.log(`Cookies: ${cook}`);
      console.log(`Cookieseq: ${cookreq}`);
      console.log (`Level: ${getlevel}`);
      console.log (`Author: ${message.author.id}`);
      if(!result.length)
      {
        if(message.author.id === bot.user.id) return;
        var sql = `INSERT INTO cookies(Author, Cookies, Level, CookiesReq) VALUES ('${message.author.id}','2','1','50')`;
        con.query(sql);
        message.channel.send(`Congrats **${message.author.username}** ! You are now Level 1 !`);
      }
      else {

            if(message.author.id === bot.user.id) return;
            con.query(`SELECT * FROM cookies WHERE Author = '${message.author.id}'`, function(err,result, fields) {
            if(result != undefined) {
            cook = fields[1].Cookies;
            getlevel = fields[2].Level;
            cookreq = fields[3].CookiesReq;
            cooktoadd = 2;
            cooktodel = 2;
            leveltoadd = 1;
            console.log(`Cookies2: ${cook}`);
            console.log(`Cookiesreq2: ${cookreq}`);
            console.log (`Level2: ${getlevel}`);
            sql = `UPDATE cookies SET Cookies = '${cook + cooktoadd}', CookiesReq = '${cookreq - cooktodel}' WHERE Author = '${message.author.id}'`;
            con.query(sql);
            if(err) throw err;
            if(cookreq == 0) {
                leveltoadd = result[0].Level;
                leveltoadd += 1;
                sql = `UPDATE cookies SET Cookies = '${cook + cooktoadd}', CookiesReq = '50', Level = '${getlevel + leveltoadd}' WHERE Author = '${message.author.id}'`;
                message.channel.send(`Congrats **${message.author.username}** ! You are now Level ${getlevel + leveltoadd}!`);     
            }
          }
          })
          return 1; 

    }})

Я пробовал все, но Кажется, не обновлять или получать информацию из базы данных.

...