【问题标题】:discord.js number goes up but resetsdiscord.js 数量增加但重置
【发布时间】:2020-10-24 17:43:48
【问题描述】:

所以,捎带我之前的问题tick up order number

这个数字会上升,但每隔一段时间它就会在我不做的情况下重置。有没有办法阻止它这样做?

订单号命令:

let baseOrderNumber = 0;
baseOrderNumber++;
        let order = args.join(" ")
        const orderTime = order + Date.now()
        if(order) { client.transferedOrder = order; }
    const orderEmbed = new Discord.MessageEmbed()
    orderIcon = "https://i.imgur.com/Le0Eist.png"
    orderEmbed.setTitle("New Order")
    orderEmbed.setColor("#FF2D00")
    orderEmbed.setThumbnail(orderIcon)
    orderEmbed.addField("Order Number", baseOrderNumber)
    orderEmbed.addField("Order", order)
    orderEmbed.addField("Customer", message.author)
    orderEmbed.addField("Server Invite", invite)
    orderEmbed.addField("Ordered At", message.createdAt)

     bot.channels.cache.get('723838675489914891').send(orderEmbed)    
     let eekowo = fs.writeFileSync('orderAuthors.txt', message.author.tag); 
    }

示例:有人以订单号 #1 下订单;其他人在 5 分钟后下订单,但也有订单号 #1

感谢任何可以提供帮助的人

【问题讨论】:

    标签: javascript node.js discord discord.js commando


    【解决方案1】:

    你可以在你的函数之外声明基序号,这样它就不会在每次函数调用时都设置为 0。

    【讨论】:

    • 我应该提到它已经在它之外了
    • 这个脚本是在客户端还是服务器端运行?如果是客户端,那很明显,因为客户端不知道其他用户的订单。
    【解决方案2】:

    每次运行命令时,您都在声明一个局部变量 baseOrderNumber

    let baseOrderNumber = 0;
    

    所以它总是初始化为0。只需将该行在您的范围内上移一级:

    目前:

    //... other code
    
    function orderNumber {
      let baseOrderNumber = 0;
      baseOrderNumber++;
      let order = args.join(" ")
      //...
    }
    

    之后:

    //... other code
    
    let baseOrderNumber = 0;
    
    function orderNumber {
      baseOrderNumber++;
      let order = args.join(" ")
      //...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 2018-10-30
      • 1970-01-01
      • 2017-01-02
      • 2015-12-21
      • 1970-01-01
      • 2012-03-07
      相关资源
      最近更新 更多