嘿,有没有人可以帮我在文件之间导入/导出?我正在制作一个不和谐的机器人,我想让它在指定的频道中“算数”。在“计数”通道中,我想让机器人检查每条消息,如果消息是1,我想让它用表情对它做出反应,然后我想要它,这样nextNumber就会自己加1,所以它变成了2。然后,在下一条消息中,如果nextNumber是2,它会给自己加1,依此类推,如果它是正确数字以外的东西,它会说“哦,没有错误的号码”,然后重置为1。
所以基本上文件夹结构是这样的: TechniLogBot (主文件夹) mybot.js (在主文件夹中) -events (在主文件夹中) --message.js (在events文件夹中)
每次在服务器中发送一条消息时,都会加载我的message.js。我有3个变量,当在message.js中时,每次发送消息时都会重置。很明显我不想让他们这么做。这个机器人应该是“计数”的。因此,我所做的就是将这3个变量放在我的主js文件mybot.js中,并尝试将它们导出到我的message.js中,然后在那里更新它们并将它们导出回mybot.js中,依此类推。
我现在拥有的代码是:
//mybot.js
let countStatStart = 0;
let nextNumberStart = 1;
let countRestartStart = true;
module.exports={
countStatStart,
nextNumberStart,
countRestartStart
}//message.js
const myBotModule = require('./mybot'); //I have tried ('../mybot') & ('TechniLogBot/mybot')
let countStat = myBotModule.countStatStart;
let nextNumber = myBotModule.nextNumberStart;
let countRestart = myBotModule.countRestartStart;
console.log(countStat, nextNumber, countRestart);问题是当它产生未定义的。我做错了什么?我如何最容易地将它们导入回mybot以避免被重置?有没有一种更简单的方法来完成这一切?我听说过全局变量,你不应该使用它们,但我对javascript不是很在行。
提前感谢
发布于 2020-12-28 20:57:16
一个简单的代码应该是这样的:(不太确定你的问题是什么……)
let countStatStart = 0;
let nextNumberStart = 1;
const countchannel = client.channels.cache.find(channel => channel.id === 'Countchannelid')
if (message.channel.id === countchannel){ //Check if message is in specific channel
if (message.content === nextNumberStart){
countStatStart = countStatStart + 1
nextNumberStart = nextNumberStart + 1 //progress the counting
}else{
countStatStart = 0
nextNumberStart = 1 //Reset all the stats
msg.author.reply('Oops Wrong Number')}
}else{
return;
}在我的项目中,我通常在主js文件中保存一些简单的变量和const。import和export命令使其更加复杂。
https://stackoverflow.com/questions/65186671
复制相似问题