Jump to content
McKay Development

Search the Community

Showing results for tags 'node-steam-tradeoffer-manager'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • News & Announcements
    • Releases & Updates
  • Help & Support
    • General
    • Guides
    • node-steam-user
    • node-steamcommunity
    • node-steam-tradeoffer-manager
    • node-steam-session

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Skype


Location


Interests

  1. Anybody can tell me how to use them? Every time I try to use it the offer just stay....
  2. I am creating node-steam-user and steamcommunity instances and passing them into the trade offer manager constructor. I then log in using the steam user instance (as provided in the example here), and set the cookies on the trade manager and steam community. Now what's happening is when a new trade offer comes in and I attempt to accept, it fires the callback with an error "Not Logged In", and it automatically fires the "sessionExpired" steamcommunity event, which I then use to log in again the same way I did the first time -- with steam-user. However, the response is always "Already logged on". 1. Is this happening because the community session is expired but not the steam-user? Is that even possible? 2. The only thing I can think of is to change up my logic to use login() on steamcommunity, and then set the returned cookies on steam-user and trade manager. And when the web session expires, call the same login() again. Is that correct? 3. If the web session expires and I re-log in successfully, should I always set the new cookies on steam-user and trade manager? Any help here would be appreciated.
  3. Hello, I need to know how to detect if a sent offer was accepted. Thanks
  4. offer.getReceivedItems(function (err, items) { if (err) { console.log("Couldn't get received items: " + err); // Error : soket hang up } else { } }) Sometime bot received Error: socket hang up. How fix this ? Thanks !
  5. Hey, short performance / logic question. First off: - Node is updated to the newest version - All used modules are freshly loaded from npm - Pollinterval is -1 (disabled) I am using this setup here to accept trades from a specific tradepartner: manager.on('newOffer', function(offer) { console.log("New offer!") offer.getUserDetails(function(error, me, them) { if (error) { console.log("Error loading user details: " + error) } else { if(adminId.indexOf(offer.partner + '') != -1){ console.log("Accepting..."); offer.accept(function(err) { if (err) { console.log("Error: " + err); } else { console.log("Successfully accepted!"); community.acceptConfirmationForObject(config.identitysecret, offer.id, function(err){ if(err){ logError("Confirmation failed: " + err); } else { logSuccess("Confirmed!"); } }); } }); } } }); });Yes, it basically works, but: - Accepting incoming trades works super fast, but the confirmation sometimes takes really long (10-15 seconds). Now I am wondering, does my "acceptConfirmationForObject" really work well or does it use the confirmationChecker which is set to 10 seconds? - Does it make sense to call acceptConfirmationForObject() directly after accepting the trade or should I put it inside a really short timeout so the trade is "ready" to be confirmed? Does it make sense to call it more than once with a short delay in between? - If I am confirming all offers through this method, could I just disable the confirmationChecker? If both, pollinterval and confirmationChecker are disabled, shouldn't I be able to run multiple bots from one IP adress without being rate limited? Thanks a lot in advance! Looking to make this thing a little faster and smoother to use.
  6. Dota2 project I was using classid_instanceid to quote, I would like to ask, do not change the equipment in the case, these two ID is permanent? Because I found that the two ID may be changed, I do not know the problem is the website or the two ID out of the problem
  7. const offer = manager.createOffer(''+user.link+''); offer.addMyItem({ "id": item.assetid, "assetid": item.assetid, "appid": 730, "contextid": 2, "amount": 1 }); offer.setMessage('Delivery "'+item.item+'" from sitename for '+user.name+' ['+helpers.getDateTime()+']'); offer.send(function(err, status) { if(err){ util.log(`[BOT] Sent error: ${err}`); }else{ util.log(`[BOT] Sending: ${item.item} for ${user.name}. TradeID# ${offer.id}`); community.acceptConfirmationForObject(identity, offer.id, function(err) { if(err){ util.log(`[BOT] Error: ${err}`); }else{ util.log(`[BOT] Tradeoffer #${offer.id} sent!`); } }); } }); After offer send, i've got error → TypeError: community.acceptConfirmationForObject is not a function What is the problem? startConfirmationChecker work successfully
  8. Hello, how can I get the appID of a offer? And for example if a sent offer has a item of appid: 730, and other from appid: 888 return null? Thank you!
  9. are there any limits to calling the manager.getOffer method, I mean is there any limit to the amount of api calls for that in a minute?
  10. i'm getting a lot of errors 26, and i have maked the bot to handle gived and received items, and if any error comes up, completely reload inventory, but still there are errors 26 all the time, so this event will for sure be fired ?? Constructor i'm using.↓↓ new TradeOfferManager({ "steam": client, "language": "en", "community":community, "pollInterval": "10000", "cancelTime": "7200000" });
  11. Hello, doctor I have a problem. When a third party website login in, How do you use the webapi (openid, passport) to login in with node-steam-tradeoffer - manager to operate orders and inventory?
  12. So sometimes my bot is disconnected from steam, it reconnects and is shown as online and everything and then when a trade offer is sent to it, it outputs an error something along the lines "Error: Not Logged In". Unfortunately, I didn't save the error output. Hopefully, someone will know what I'm talking about, but I'll update this post when it happens again. My guess is that it has something to do with either steamcommunity or tradeoffermanager, probably the former. How can I prevent it?
  13. Hello, when I load a user inventory it doesn't return me the market_hash_name. It only gives me the id, assetid, appid, contextid and amount. Thank you!
  14. Hello, how can I add all user items for example for appID 730 with addTheirItems(theiritems) or addTheirItem(theirItem) ? Thank you!
  15. Is there a way i can get my partners steamid from a offer object? I've tried the following. manager.on('newOffer', function(offer){ offer.getUserDetails(function(err,me,them){ console.log(me); console.log(them); }); }); This prints out like the games they have and stuff but I need a way to get their steamid to check if the user is banned on bp.tf or other trading websites. also if you print the offer object you get something like this. partner: SteamID { universe: 1, type: 1, instance: 1, accountid: someidhere }, what is accountid and does it do anything?
  16. So after I confirm a trade to send over items, I just can't get my inventory to refresh. The way I want the bot to work is after it confirms a trade, it gets its inventory, goes through each item, checks if there's a corresponding entry for each item in the database, and if not - creates a new database. So after I confirm a trade, I delete the entry of the item I'm sending away, and then run tradeOffer's manager.getInventoryContents and it still shows me that the item is there(and of course adds it back to the database). And I actually run getInventoryContents, not just reuse the inventory object from before. What is the problem and how could I solve it? Thanks EDIT: Alright, did some further testing. When the bot *receives* an item, the function works as expected and the item is added to the database. However, when it sends away the item, the inventory object still shows as if the item is there. So essentially, the inventory object is updated when receiving an item, but when it sends away the object stays there. How could that be?
  17. Hi everyone! I'm new to node, js and steam related scripting, so thanks Dr McKay for the place. I'm trying to make some logic for a card trade bot, but I can't find a way to get the appid of the game to which belong the trading card. I've already debbuged all the properties of the items in a trade offer, but no one match what I'm looking for. The closest I got was by using the numbers which precede in market_hash_name, but this is not a constant in all trading cards, so I need some advice to continue my project. Thanks in advance for any help and sorry for my bad english!
  18. Hello, Ive got some questions regarding steam trade offer manager. The first one - can I use single polling file for multiple bots instances? The second - how many trades can I send and have pending at one time? I don’t know what limit should I set on my page. All answers will be appreciated. Thanks in advance.
  19. I'm using pm2. When steam go down pm2 automaticly restarting bot, and then i've got error: RareLimit Exceeded How to fix this?
  20. Can not addMyItems to offer.send, always returns 0 Actually receiving items works completely fine. But im struggling since 3 days about the sending offer part. So i started to log every activity on that part and commented every line to get things clear. I have two options of sending outgoing offers: 1) if i want to send the winnings to the user2) if i want to send the rake to myself I have chosen the Rake function because its less code with same functionalities. If i get this running i also get the SendOffer running. The function will be called by /sendrake in steamchat to the bot (works also) function sendRake(param){ logger.info('[RAKECHECK] Calling the Sending Function'); connection.query('SELECT * FROM `rakeitems` WHERE `status`=\'active\' GROUP BY `id` DESC LIMIT 1', function(err, row, fields) { logger.info('[RAKECHECK] Selected the correct Table for DB'); if(row.length!=0) // if not empty { logger.info('[RAKECHECK] Selected Table is not empty, continue'); var assetids=(row[0].assetid).split('/'); //assetid from first row named assetid logger.info('[RAKECHECK] Splitting the AssetID from our DB devided by Slash'); offers.getInventoryContents(730, 2, true, function (err, inventory) //getting inventory contents { logger.info('[RAKECHECK] getInventoryContents called!'); if (err){ // if we get an error if(param==1){ client.chatMessage(config.admin1, '[SERVER] Error while loading the Bot\'s Inventory, try again later boss!'); } logger.info('[RAKECHECK] getInventoryContents could get no Items'); console.log(err); return; } else { // no error on getting inventory so we can continue // If the inventory is empty if(inventory.length == 0) { logger.info('[RAKECHECK] getInventoryContents found an empty inventory!'); console.log("CS:GO inventory is empty"); return; } // if the inventory has no error and is not empty, give me the count of items console.log("Found " + inventory.length + " CS:GO items"); logger.info("[RAKECHECK] Found " + inventory.length + " CS:GO items"); //provides the token var token = row[0].token; logger.info("[RAKECHECK] Token: " + token + " found!"); // provides the gameid var gameid = row[0].id; logger.info("[RAKECHECK] Game ID: " + gameid + " found!"); //provides the value var value = row[0].value; logger.info("[RAKECHECK] Value: " + value + " found!"); // provides the partners steamid var sid = row[0].userid; logger.info("[RAKECHECK] Steam ID: " + sid + " found!"); // Create the offer var offer = offers.createOffer(new TradeOfferManager.SteamID(row[0].userid), '' + row[0].token + ''); logger.info("[RAKECHECK] createOffer: ID:" + sid + " TKN:" + row[0].token + ""); // If offer is not empty or outgoing trade contains imtems if(offer.itemsToGive.length!=0) { logger.info("[RAKECHECK] Confirmed: " + offer.itemsToGive.length + " Items"); //for each item in inventory do the following inventory.forEach(function(item) { //for each assetid to this assetids.forEach(function(asset) { //if the itemid is same as assetid if(item.id==asset) { //Add my item to the trade //Also tested with same result: offer.addMyItems(inventory[0]); offer.addMyItem({"appid": 730, "contextid": 2, "assetid": "10387413069",}); } }) }); } else { logger.info("[RAKECHECK] Items: " + offer.itemsToGive.length + " and this *Insult here* is still not working"); // The Tradeoffer is Empfty console.log("Found " + offer.itemsToGive.length + " Items, Tradeoffer is empty"); } // Send the Trade with a Message offer.setMessage('Rake for Game #'+gameid+' ($'+value+')'); //setTimeout(function(){ // sending offer offer.send(function(err, status) { //if we get an error, return the error to console and admin via chat if (err) { console.log(err); if(param==1){ client.chatMessage(config.admin1, '[SERVER] Error while sending the tradeoffer for the rake, try again later'); return; } return; } // if the status is pending we will need to accept the trade if (status == 'pending') { console.log('[SERVER] Rake for Game #'+gameid+' has been successfully sent and is awaiting mobile confirmation.'); // We need to confirm it console.log(`Offer #${offer.id} sent, but requires confirmation`); community.acceptConfirmationForObject(config.identitysecret, offer.id, function(err) { if (err) { console.log(err); } else { console.log("Offer confirmed"); } }); } // if no error and not pending, the trade seems to be accepted else { console.log(`Offer #${offer.id} sent successfully`); connection.query('UPDATE `rakeitems` SET `status`="sent" WHERE `id`=\''+gameid+'\''); if(param==1) { client.chatMessage(config.admin1, '[SERVER] Successfully sent the rake for Game #'+gameid+'!'); } } }); // End of send function // Actually unused timeout },2000); } // End of (else) for getting inventory with no error }); // Closing getInventoryContents } // If row lenght not 0 else { // If row is empty there is no query to call if(param==1) { client.chatMessage(config.admin1, '[SERVER] No more Rake Queries!'); return; } } }); } Output after running through: I always have no items in my offer and i get the following console output: 2017-06-26T11:58:45.599Z - info: [RAKECHECK] Calling the Sending Function 2017-06-26T11:58:45.631Z - info: [RAKECHECK] Selected the correct Table for DB 2017-06-26T11:58:45.632Z - info: [RAKECHECK] Selected Table is not empty, continue 2017-06-26T11:58:45.632Z - info: [RAKECHECK] Splitting the AssetID from our DB devided by Slash 2017-06-26T11:58:46.460Z - info: [RAKECHECK] getInventoryContents called! 2017-06-26T11:58:46.460Z - info: [RAKECHECK] Found 123 CS:GO items 2017-06-26T11:58:46.460Z - info: [RAKECHECK] Token: MzGQSP3P found! 2017-06-26T11:58:46.460Z - info: [RAKECHECK] Game ID: 17 found! 2017-06-26T11:58:46.460Z - info: [RAKECHECK] Value: 0.01 found! 2017-06-26T11:58:46.461Z - info: [RAKECHECK] Steam ID: 76561197995793247 found! 2017-06-26T11:58:46.461Z - info: [RAKECHECK] createOffer: ID:76561197995793247 TKN:MzGQSP3P 2017-06-26T11:58:46.461Z - info: [RAKECHECK] Items: 0 and this *Insult here* is still not working I think im stucked and i just cant see the fault i made. I have read the documentation so often that i consider buying any other book to get something other in my mind, also tried example bots to fit with my code and, and, and... finally i hope i can get some one to help with this. Cheers.
  21. As the picture below how can i check if the item name contain the tag 'Craft Item' ?
  22. windows system ! "C:\Program Files\JetBrains\WebStorm 2017.1.3\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" E:\nodework\nodeSteam\doctor-node-steam-tradeoffer-manager-master\examples\offloader.jsSteam Guard App Code: R6B8KLogged into SteamGot API key: <censored>Found 7H1Z1 Kill itemsOffer #2242951795 sent, but requires confirmationError: It looks like your Steam Guard Mobile Authenticator is providing incorrect Steam Guard codes. This could be caused by an inaccurate clock or bad timezone settings on your device. If your time settings are correct, it could be that a different device has been set up to provide the Steam Guard codes for your account, which means the authenticator on this device is no longer valid
  23. Hello, I was wondering if there's something like manager.cancelOffer(offerID); or something like that. I went through the trade-manager docs and found nothing that would help me cancel outgoing offers, best of what I found was constructor options to cancel offers & poll-data to keep offer data, but none of which is what I'm looking for. Is there anything that would let me push trade offer id's into an array and cancel them 1by1? Thanks in advance!
  24. Hello, i have created a steam trading bot which accepts offers and save the offers in a database. My Problem is when i send 2 offers at the same Time, the second offer dont accepted. Anybody have an idea how i can fix this? Sry for my bad english.
  25. i've been using this bot for a while then suddenly i had to change my mobile authentication and then wait for 15 days and now i see that bot doesnt sends any trade offer, Error: There was an error sending your trade offer. Please try again later. Bot has declined your trade request. someone help me please
×
×
  • Create New...