Jump to content
McKay Development

Dr. McKay

Administrator
  • Posts

    3659
  • Joined

  • Last visited

Everything posted by Dr. McKay

  1. The CM sends a notification message to the Steam client (which steam-user can receive), but that message only contains the count of pending trade offers. To get any details at all about the actual content of the trade, we need to hit the API for that.
  2. It still works fine for me. Make sure your account owns the game you're trying to play and that the account's game visibility state is public.
  3. It's very much not a bad idea to spawn one process per account. That way, if something causes one bot to crash, the rest don't also crash. Also, Node.js is single-threaded, so that's the best way to take advantage of multiple processor cores. About the only downside of spawning multiple processes is the increased memory usage. But if you have enough RAM, go for it.
  4. appid, contextid, assetid, classid, instanceid, amount, name, market_name, market_hash_name See this guide id Same as assetid pos Not always present; this is the item's position in the user's inventory (starting at 1) background_color Hex code for the background color rendered for this item in the Steam inventory name_color Hex code for the name and border color rendered for this item in the Steam inventory icon_url Append this to https://steamcommunity-a.akamaihd.net/economy/image/ to get the item's image descriptions Array of objects containing human-readable description text lines tradable, marketable Self-explanatory type The text that goes under the game's name to the right of the square game logo in the Steam inventory when this item is viewed commodity Determines whether this item's Market listing uses buy orders exclusively (true), or individual listings with the possibility to submit buy orders (false) market_tradable_restriction Length in days that this item will be untradable after it's bought on the market market_marketable_restriction Length in days that this item will be unmarketable after it's bought on the market tags Array of tag objects; tags are used in the Steam inventory for filtering is_currency Always going to be false except for some Spiral Knights stuff (I think). You really don't want to deal with currencies, trust me. fraudwarnings Array of warnings that will be rendered in red when this item is viewed. If fraudwarnings exist, the item gets a red (!) icon in the Steam inventory
  5. I can't guarantee it's going to work for you forever, but I would guess that checking the marketable property is a reliable way to see if a key is temporarily or permanently untradable.
  6. What did your problem end up being?
  7. The "D" value seems to be just some key used by the GC to make sure that people can't just guess at values to get item data. I've yet to find any way to extract any meaning out of it, only that it's required to retrieve the item's data. The index property is just the position of the first character in your string where the regex matched. Since you're regexing the entire inspect link, that's 0, or the very first character. Do note that if an item is listed on the market, then the "M" value is the market listing ID and not the owner's SteamID. And I guess you've figured out by now that the SteamID in the link (76561202255233023) is meaningless.
  8. There isn't really a way to do that. You'd need to retrieve the user's inventory from Steam and get the name and image that way. Well, you could download the item schema and work out the item's name at least, but getting the image is entirely impractical. You'd need to reimplement the entire algorithm used by the game client to render items, which I promise you, you don't want to do.
  9. I'm not sure I believe you.
  10. Did you run npm install steam-user?
  11. You'd need to either call setTimeout everywhere you call client.chatMessage, or create your own function that calls client.chatMessage after a delay and replace all calls to client.chatMessage with your new function.
  12. I do intend to add (well, accept the pull request for) first-class support for item containers, I just haven't gotten around to it at the moment.
  13. I have no idea if this will work, but you might try: const Language = require('globaloffensive/language.js'); const Protos = require('globaloffensive/protobufs/generated/_load.js'); If that doesn't work, this should (provided you've installed the module in the current directory): const Language = require('./node_modules/globaloffensive/language.js'); const Protos = require('./node_modules/globaloffensive/protobufs/generated/_load.js');
  14. Polling uses the WebAPI, so an API key is required.
  15. Try adding a callback to this.manager.setCookies and see if you're getting an error there. If you aren't, add this.manager.on('debug', console.log) and paste whatever output you get.
  16. That doesn't really make a lot of sense. You're sending an array of asset IDs? There's no way to just figure out which app a given asset ID belongs to. You'd need to also send the appid.
  17. What's the value of your ownerID?
  18. Show your code.
  19. Yes, that's what the code I posted is for. Yes, yes, yes.
  20. You don't need to log into the client to send or receive trade offers, no. You can use a proxy like: const SteamUser = require('steam-user'); let user = new SteamUser({ httpProxy: 'http://user:[email protected]:5678' });
  21. About the only difference Steam would notice is a desktop browser user-agent instead of the app's user-agent. But I've been doing this for years and it's been fine for me.
  22. Using two different apps for 2FA tends to cause problems, so I don't recommend it. Uninstalling the Steam app from your phone will probably fix your WinAuth issues. There's no reason you couldn't use my libraries to write your own auto-confirm script thing, although I don't recommend it. My personal setup is a Steam Two-Factor Server with the complementary user script. With this setup, whenever I send or accept a trade offer, the browser window just automatically goes to the confirmations page where I can confirm the trade. Though on a phone, I think you'd have to use Firefox and install Tampermonkey to get it to work.
  23. I suppose before you overwrite the variable, you could try deleting the backpack property.
×
×
  • Create New...