试图用quick.db创建一个经济机器人,但是我的命令不起作用

时间:2019-08-23 22:07:25

标签: javascript node.js discord discord.js

基本上,我正在尝试创建一个discord.js / quick.db经济系统,并尝试使用一个教程作为指导来制作一个简单的balance命令,该命令将不会执行,但不会显示任何错误。日志。

在其他教程之后,我尝试研究如何执行此操作,但这只是使我回到此错误。我已经为此安装了所有必需的软件包。

const Discord = require('discord.js')
const db = require('quick.db')

module.exports.run = async (bot, message, args) => {

    let bal = db.fetch(`money_${message.guild.id}_${message.author.id}`)

    if (bal === null) bal = 0;

    message.channel.send('You have a balance of `' + bal + '`')

}

我没有收到任何错误,但是命令不会执行,我什至搜索了日志以确保绝对没有错误,但是什么都没有显示。

2 个答案:

答案 0 :(得分:0)

我有一个类似的脚本并且可以正常工作,我没有使用

if (bal === null) bal = 0

我的代码是这样的:

let goldAmount = db.get(`money_${message.author.id}`)

        let balEmbed = new Discord.RichEmbed()
            .setTitle(`${message.author.username}'s Gold`)
            .setColor([0,200,20])
            .setDescription(`${goldAmount} Gold`)

        await message.channel.send(balEmbed);

您不需要将其作为RichEmbed发送,只需执行await message.channel.send(goldAmount);

答案 1 :(得分:0)

这对我有用!

let user = message.mentions.members.first() || message.author;
let bal = db.fetch(`money_${message.guild.id}_${user.id}`)

if (bal === null) bal = 0;

let bank = await db.fetch(`bank_${message.guild.id}_${user.id}`)  
if (bank === null) bank = 0;

let moneyEmbed = new Discord.MessageEmbed()
    .setColor("RANDOM")  
    .setDescription(`**${user}'s Balance**\n\n__Pocket:__${bal}\n__Bank:__${bank}\n__Overall:__ ${bank + bal}`);  
message.channel.send(moneyEmbed);