【问题标题】:Discord Command laggsDiscord 命令滞后
【发布时间】:2019-12-08 08:35:16
【问题描述】:

我用硬币编写了一个不和谐的机器人插槽命令,它正在工作,但如果我运行该命令,有时什么也没有发生。 (没有错误)

例如:您输入 !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;

                    }




                }```

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    所以假设result 原来是 0,resault[result] 将是 ? ? ?

    您没有对 3 个橙子/切片进行任何检查。所以它不会返回任何东西。也不会发送任何消息。

    您还缺少对更多组合的检查。所以从表面上看,你有 1/3 的时间一无所获。

    也只是因为这段代码效率很低我在这里有这个赌徒的更好版本:https://jsfiddle.net/FrustratedProgrammer/19dmwL86/

    【讨论】:

      猜你喜欢
      • 2023-01-05
      • 1970-01-01
      • 2022-08-14
      • 2018-03-04
      • 2021-02-05
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-25
      相关资源
      最近更新 更多