Lonster_Monster Posted September 29, 2017 Report Posted September 29, 2017 (edited) i have been trying to get my steam bot to do automatic buy and selling meaning that it has a stock management system and i almost got one that i created from messing around in nodejs i got it it runs the only thing i am having trouble with is an error a friend told me it might be a bug i was wandering if anyone knows what the error means Error:{ Error: EBADF: bad file descriptor, write errno: -4083, code: 'EBADF', syscall: 'write' } does not stop the code it keeps going and accepts ust it has that as if it was part of the console.log command also i used jsonfile npm and colors npm modules Here is the full part of it function processOffer(offer) { if (offer.isGlitched() || offer.state === 11) { console.log("[".green+h+":".cyan+m+":".cyan+s+"] ".green+"Offer was glitched, declining."); declineOffer(offer); } else if (offer.partner.getSteamID64() === config.ownerID) { acceptOffer(offer); } else { var ourItems = offer.itemsToGive; var theirItems = offer.itemsToReceive; var ourValue = 0; var theirValue = 0; var currentstock = 0; var StockLimit = 0; for (var i in ourItems) { var item = ourItems[i].market_name; if (stock[item]){ currentstock = stock[item].instock; StockLimit = stock[item].stocklimit; if (fs.readFileSync('.//settings/Stock/stock.json')){ console.log(timestamp+"Our " +item+" - stock number: " +currentstock+ " / " +StockLimit+ ".") if (currentstock < StockLimit){ if(Prices[item]) { ourValue += Prices[item].sell; } else if (MetalPrices[item]){ ourValue += MetalPrices[item].sell; } else { console.log(timestamp+"Invalid Value."); ourValue += 99999; } } else if (currentstock >= StockLimit){ console.log(timestamp+item +" Stock Limit Reached") manager.on('receivedOfferChanged', (offer)=>{ if (adminConfig.disableAdminComments == "Enable") { community.postUserComment(offer.partner.toString(), item+ " - Stock Limit Reached", (err)=>{ if(err) throw err.message }); } }) } }; } } for(var i in theirItems) { var item= theirItems[i].market_name; if (stock[item]){ currentstock = stock[item].instock; StockLimit = stock[item].stocklimit; fs.readFileSync('.//settings/Stock/stock.json') console.log(timestamp+"The " +item+" - stock number: " +currentstock+ " / " +StockLimit+ ".") if (currentstock < StockLimit){ if(Prices[item]) { theirValue += Prices[item].buy; } else if (MetalPrices[item]){ theirValue += MetalPrices[item].buy; } else { console.log(timestamp+"Invalid Value."); theirValue += 99999; } } else if (currentstock >= StockLimit){ console.log(timestamp+item +" Stock Limit Reached") manager.on('receivedOfferChanged', (offer)=>{ community.postUserComment(offer.partner.toString(), item+ " Stock Limit Reached", (err)=>{ if(err) throw err.message }) }) } } } console.log(timestamp+"Our value: "+ourValue); console.log(timestamp+"Their value: "+theirValue); if (ourValue <= theirValue) { if (config.DevCode == "True"){ if (DevCodeCFG.Enable_Dev_Stock_Manager== "True"){ for (var i in ourItems) { var item = ourItems[i].market_name; if (stock[item]){ var file = (stock[item].instock); var obj = math.subtract(currentstock, 1) jsonfile.writeFile(file, function (err) { console.error(err) }) console.log(timestamp+' The file has been saved!'); } } for (var i in theirItems) { var item = theirItems[i].market_name; if (stock[item]){ var file = (stock[item].instock); var obj = math.add(currentstock, 1) jsonfile.writeFile(file, obj, function (err) { console.error(err) }) console.log(timestamp+' The file has been saved!'); } } } } acceptOffer(offer); } else if (ourValue > theirValue){ console.log(timestamp+"Their value was different.") declineOffer(offer); } } } If you want to try out my steam bot i got so far it is at github at github.com/LonsterMonster/Steam-Trade-Node-Botyou have to enable the developer options becasue i didnt want anyone to use the stock management that didnt know what they were doing since it is incomplete Edited September 29, 2017 by Lonster_Monster Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.