【问题标题】:Discord.JS: Array resets itself after some timeDiscord.JS:数组在一段时间后自行重置
【发布时间】:2021-05-05 19:45:06
【问题描述】:

几天前,我用计数游戏编写了一个 Discord 机器人。有人必须发送 1,然后其他人必须说 2,依此类推。当有人说了两次数字,或者说错了数字时,游戏又重新开始了。当有人说错号码时,机器人会返回该号码。

但是,我发现出了点问题。有人说下面的数字,但似乎阵列被重置了。机器人返回以下数字为 1。它已经发生了很多次。

代码:

var counter = [{
    name: "bot",
    nummer: 0
}];
client.on("message", message => {
    if (message.channel.id == "804378504300200016") {
        if(!isNaN(message.content)){
            var counterlast = counter[counter.length - 1];
            var countercheck = counterlast["nummer"] + 1;
            var pinger = parseInt(message.content);
            var lastuser = counterlast["name"];
            if(countercheck === pinger && lastuser !== message.author.id){
                counter.push({name: message.author.id, nummer: countercheck});
                message.react('✅');
            }
            else{
                if(lastuser === message.author.id){
                    message.react('⚠️');
                    message.reply(`Chappie, niet nog een keer. Volgend nummer is 1`);
                    counter.length = 0;
                    counter.push({name: "bot", nummer: 0});
                }
                else{
                    message.react('⚠️');
                    message.reply(`Chappie, verkeerd nummer. Het moest ${countercheck} zijn. Volgend nummer is 1.`);
                    counter.length = 0;
                    counter.push({name: "bot", nummer: 0});
                }
            }
        }
    }
});

我实际上不知道问题可能是什么。有人有替代方法或解决方案吗?

我的机器人在 1vCPU 和 1Gb 内存的 Ubuntu 服务器上运行

【问题讨论】:

    标签: javascript arrays discord.js


    【解决方案1】:

    我找到了我的解决方案。我的服务器中的其他文件导致重新启动,因此阵列自行重置。解决这些文件后,我的服务器没有导致任何崩溃,因此继续计数。

    另外,我发现更好的方法是改用.json 文件。因此,当服务器必须重新启动时,进度将保持保存。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 2020-07-22
      • 2020-10-11
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 2012-12-15
      相关资源
      最近更新 更多