如何解决节点不和谐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
。
我需要在模块中引用此变量,并且该模块似乎没有将其视为集合。如何导入?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。