排行榜命令中的SQLITE错误

时间:2018-08-18 21:24:51

标签: javascript node.js sqlite bots discord.js

favorite
1
const Discord = require("discord.js");
const sql = require("sqlite");
const db = sql.open('./stat.sqlite', {
  Promise
});

module.exports.run = async(bot, message, args) => {
  sql.open('./stat.sqlite', {
      Promise
    })
    .then((db) => {
      runApp(db);
    }).catch((err) => {
      console.log(err);
      process.exit(1);
    });
  const runApp = (db) => {
    if (args[0] == "coins") {
      db.all(`SELECT userId,coins FROM stats ORDER BY coins DESC LIMIT 10`).then(rows => {
        rows.forEach(row => {
          let leaderboard = new Discord.RichEmbed()
            .setColor(config.green)
            .setTitle("Топ-10 пользователей сервера по коинам")
            .setDescription(`<@${row.userId}> - ${row.coins}`)
          message.channel.send(leaderboard);
        });
      });
    }
  }
}

module.exports.help = {
  name: "leaderboard"
}

错误是正在发送8条消息,而不是1条,我的位置重复了3次。

我还有1个问题: 我不明白如何选择2行(用于!pay命令)。我需要选择带有message.author.id和提及的.user.id的行。

我将非常感谢您!

0 个答案:

没有答案