节点不和谐js导出功能

时间:2020-09-28 15:44:30

标签: function sequelize.js export discord.js

official guide之后,我一直在制作discord.js机器人。 根据建议,我所有的命令都放在/commands文件夹中。

然后,我按照同一指南中的this page,按照本课程创建了带有续集的货币系统。

我在commands文件夹中有一个balance.js文件,但是当我调用它时,它给了我这个错误:

TypeError: currency.getBalance is not a function

我已经在app.js文件中定义了该函数,但是如何在balance.js文件所调用的app.js内导出(或使用)该函数?

这是在主文件app.js中定义的功能:

Reflect.defineProperty(currency, 'getBalance', {
    value: function getBalance(id) {
        const user = currency.get(id);
        return user ? user.balance : 0;
    },
});

这是balance.js

module.exports = {
    name: 'balance',
    description: 'Informs you about your balance.',
    cooldown : 10,
    guildOnly : true,
    aliases: ['bal', 'cur', 'gem', 'gems'],
    execute(message, args) {
        const Discord = require('discord.js');
        const { Users, CurrencyShop, UserItems, CardBase, UserCollec } = require('../dbObjects');
        const currency = require('../app.js')

        async () => { const storedBalances = await Users.findAll();
    storedBalances.forEach(b => currency.set(b.user_id, b));
    UserCollec.sync(); }
        
        const target = message.author;
        return message.channel.send(`${target} has ${currency.getBalance(target.id)}<:Gem:756059891465977886>`);
        
    },
};

编辑:

我进步了。现在我知道我必须导入currency变量,该变量在new Discord.Collection()中已声明为app.js

我需要在模块中引用此变量,并且该模块似乎没有将其视为集合。如何导入?

0 个答案:

没有答案