Hydra2k
Hydra2k

Reputation: 61

discord.js number goes up but resets

so, piggybacking off my previous question tick up order number;

The number goes up but every so often it resets without me doing it. Is there a way to keep it from doing that?

ORDER NUMBER COMMAND:

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); 
    }

Example: Someone places order as order number #1; someone else places order 5 minutes after but that also has order number #1

Thanks to anyone who can help

Upvotes: 0

Views: 52

Answers (2)

jsejcksn
jsejcksn

Reputation: 33749

You are declaring a local variable baseOrderNumber every time the command is run:

let baseOrderNumber = 0;

so it will always initialize to 0. Just move that line one level up in your scope:

Currently:

//... other code

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

After:

//... other code

let baseOrderNumber = 0;

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

Upvotes: 0

NiTiN
NiTiN

Reputation: 81

You can declare baseorder number outside your function, this way it wont be set to 0 on every function call.

Upvotes: 2

Related Questions