【发布时间】: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