Jump to content
McKay Development

Axle

Member
  • Posts

    19
  • Joined

  • Last visited

  1. I would recommend giving up after X amount of tries, because at some point it is just the steam API and you need to reset/relog. In the case of escrow days this happens to me fairly regularly.
  2. I'm getting this error: With the code (after login, etc.): The weird part is that it works if I request any inventory besides the two bots I own. I'm thinking this might be a too many requests error? But it also doesn't work if I login to an alt/my main account and try to request the same inventory from a different account. Edit: I've also now gotten eresult 20. Looking at the corresponding errors these are "ServiceUnavailable" and "RemoteCallFailed", so it seems to be a steam error. Will see if this continues in a few hours. Edit 2: I actually can't even see their inventories in steam now, definitely a steam issue.
  3. The async nodeJS module is also a good alternative if you don't want to use promises. They're basically the same thing except it makes code a lot neater.
  4. Thats what I would do, something like pm2 start bot.js -[bot #] in a bash script with each bot. I'm not familiar with where node-steam things saves stuff, so you might have problems with that initially.
  5. Memory leak. You probably fucked up an infinite/recursive call stack somewhere that keeps adding, NodeJS itself has a call stack size limit. I can't remember the number off the top of my head but it is kinda low, you can manually raise it somehow if you need to. My own script barely takes ~80MB of RAM and it is mainly because I don't run it as a daemon, its the only thing I have running on a dedicated machine so I choose not to.
  6. Theres not too much reason for needing the actual array length in the script, you can just set it to for loop the amount of bots you would need to start. Obviously you would have to edit this to account for adding bots, but if you need to restart your scripts constantly I wouldn't recommend daemons in the first place. I was thnking of using it as a one time spawning script
  7. I don't like running my bot daemonized so I just use screen but if you're running that many you will probably have to. There are several ways to do what you want, depending on how reusable/updatable you want it to be. The easiest would probably just to add a command line argument with the bot ID to your script. Then you can just edit one script to update all the bots, but they're not inherently reliant on each other. Of course you have to play with where everything is saving (poll data, etc.). To start all of the bots I would recommend just making a simple bash script, just use a for loop and change the id in the command line argument.
  8. I would go with the first one. It's not quite as simple as making a bot class because you have to make sure that every steamcommunity function acted on each bot in parallel, which would obviously be difficult to do with that amount of bots (you might be able to create separate steamcommunity instances though I'm not very familiar with this). Also if you're running that many bots you will need to use proxies to avoid rate limits otherwise you will get screwed fast.
  9. Use sentOfferChanged. https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/TradeOfferManager#sentofferchanged
  10. If a SteamUser object from node-steam-user is passed into the constructor of manager, is the pollInterval overridden/disabled? I'm asking because I am having some issues with steam not giving notifications consistently on tradeoffers, so having pollInterval as a fallback would be useful.
  11. Because you want to get their data you should do client.getPersonas([sENDER]), client.steamID is your own steamID. The other thing is that personas is an object, not just their names because it getPersonas can handle multiple steamIDs. I don't remember how the object is exactly setup. This should help in more detail: https://dev.doctormckay.com/topic/660-how-to-go-from-steam64-to-steam-username-the-name-currently-used-on-steam/
  12. https://github.com/DoctorMcKay/node-steamcommunity https://github.com/DoctorMcKay/node-steamcommunity/blob/master/examples/enable_twofactor.js
  13. For a project of mine, it is very useful to be able to load the app_data of items in inventories to characterize the items. Because it is not particularly important right now, I have been relying on the deprecated loadInventory method to get the data. One of my ideas was to just send dummy tradeoffers to an alt and read it as a tradeoffer, but this seems excessive. Do you have any suggestions for getting the app_data of inventories?
  14. https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/TradeOfferManager#createofferpartner-token manager.createOffer(partner, token) is what you are looking for. Edit: Also looking at your code there is no reason to add that many listeners. You can just cascade else ifs in a single listner and it will probably be much faster.
×
×
  • Create New...