javascript - Discord 命令滞后
问题描述
我用硬币编写了一个不和谐的机器人插槽命令,它正在工作,但如果我运行该命令,有时什么也不会发生。(没有错误)
例如:您输入 !slots 500 <--这些是硬币,您可以赢得更多
我试图找到问题,但我没有找到任何代码(当执行命令时发生这种情况)
if(!coins[message.author.id]) {
return message.channel.send("Du hast keine Coins!")
}
let amount = args[0];
if(!amount) return message.channel.send("Du musst Coins angeben!")
let mal2 = amount * 2
let mal3 = amount * 3
let mal4 = amount * 4
let mal5 = amount * 5
let lose = amount * 1.2
let ccoins = coins[message.author.id].coins
if(ccoins < amount) return message.channel.send("Du hast nicht so viele Coins!")
if(500 < amount) return message.channel.send("Du darfst nicht mehr als 500 Coins angeben!")
let resault = [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
let result = Math.floor((Math.random() * resault.length))
let result2 = Math.floor((Math.random() * resault.length))
let result3 = Math.floor((Math.random() * resault.length))
if(resault[result] === " ") {
coins[message.author.id] = {
coins: coins[message.author.id].coins - lose
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${lose} Coins verloren!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️ ⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === " ") {
coins[message.author.id] = {
coins: coins[message.author.id].coins - lose
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${lose} Coins verloren!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️ ⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === " ") {
coins[message.author.id] = {
coins: coins[message.author.id].coins - lose
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${lose} Coins verloren!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️ ⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === " ") {
coins[message.author.id] = {
coins: coins[message.author.id].coins - lose
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${lose} Coins verloren!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️ ⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === " ") {
coins[message.author.id] = {
coins: amount * 3 + ccoins
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${mal3} Coins gewonnen!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️ ⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === " ") {
coins[message.author.id] = {
coins: amount * 2 + ccoins
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${mal2} Coins gewonnen!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️ ⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === " ") {
coins[message.author.id] = {
coins: amount * 4 + ccoins
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${mal4} Coins gewonnen!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️ ⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
if(resault[result] === " ") {
coins[message.author.id] = {
coins: amount * 5 + ccoins
}
fs.writeFile("./coins.json", JSON.stringify(coins), (err) => {
if(err) console.log(err)
});
let embed = new Discord.RichEmbed()
.setAuthor(`Du hast ${mal5} Coins gewonnen!`)
.setDescription(`⬛️${resault[result2]}⬛️`)
.addField(`➡️ ⬅️`, `⬛️${resault[result3]}⬛️`)
message.channel.send(embed)
return;
}
}```
解决方案
所以让我们说result
结果是0,resault[result]
然后是
您没有对 3 个橙子/切片进行任何检查。所以它不会返回任何东西。也不会发送任何消息。
您还缺少对更多组合的检查。因此,从外观上看,有 1/3 的时间你一无所获。
也只是因为这段代码效率很低我在这里有一个更好的赌徒版本:https ://jsfiddle.net/FrustratedProgrammer/19dmwL86/
推荐阅读
- django - “StoryView”对象没有属性“对象”
- kotlin - 如何使 Kotlin lambda 在泛型类中工作
- java - 使用 Spotify docker-maven-plugin 将 docker 镜像推送到 AWS ECR
- python - spacy-自定义标记化不适用于 POS 和 ORTH 和 OP 参数
- angular - 开放层以英里和反向计算范围的长度和宽度
- javascript - 将提取的文本返回到另一个 javascript 文件
- php - 当我将数组放入 foreach 循环时,我不断收到警告
- c++ - C++ 代码中的指针和 AVL 树存在问题
- batch-file - 指定要通过 .bat 文件打开的程序的确切路径
- python - 在 Gitlab 上运行时库的 Pylint E0401 导入错误