簡體   English   中英

有沒有一種簡單的方法可以使重新加載事件中的變量不重置? discord.js

[英]Is there an easy way to make a variable in a reloading event not reset? discord.js

嘿,有沒有人可以幫助我在文件之間導入/導出? 我正在制作一個 discord 機器人,我想制作它,以便機器人在指定的頻道中“計數”。 在“計數”頻道中,我希望機器人檢查每條消息,如果消息是 1,我希望它用表情對其做出反應,然后我希望它讓nextNumber向自身添加 1,使其變為 2。然后在下一條消息我希望它是這樣,如果nextNumber為 2,它會向自身添加一個等,如果它不是正確的數字,它會說“哦,沒有錯誤的數字”並重置為 1。

所以基本上文件夾結構是這樣的:TechniLogBot(主文件夾)mybot.js(在主文件夾中)-events(在主文件夾中)--message.js(在事件文件夾中)

每次在服務器中發送消息時,我的 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 中並不那么先進。

提前致謝

一個簡單的代碼將是這樣的:(雖然不太確定你的問題是什么......)

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 文件中保留一些簡單的變量和常量。 導入和導出命令使它變得更加復雜。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM