-
Posts
84 -
Joined
-
Last visited
Posts posted by timgfx
-
-
I already tried this but it didn't work. Or doesn't multiple games mean that you can farm hours with multiple accounts? It did show I played the game on the date of today but it only showed that the first game in the array was being played
-
You can parse a JSON file in Node using just
require('./file.json')
It's up to you what you put in it and how you handle it.
The parsing isn't really the problem then, just how to check it. I've tried an if statement checking if the offer itemsToGet and itemsToReceive market_hash_name's matched the ones on the file but it didn't work for some reason. Can you give me an example on how to check if the trades itemsToGet and itemsToReceive and those of the JSON file are the same?
-
Use JSON is my recommendation.
And how exactly would I be able to do that? I thought an array of objects would work aswell but I will use JSON anyway. And how am I able to implement it in the bot code?
-
What's wrong with the multitude of other threads you have asking this question?
I still can't find anything
-
What's wrong with the multitude of other threads you have asking this question?
I searched for it but haven't found anything. Continuing the search now I guess. Sorry for wasting your time:P
-
-
Hi timgfx,
In steamcommunity, cookies are returned with login. Please refer to the following link:
https://github.com/DoctorMcKay/node-steamcommunity/wiki/SteamCommunity#logindetails-callback
My bot works fine on login. Its just that sometimes when session expires and I re login, the following problem occurs.
Is there a possibily to do something like this: https://www.npmjs.com/package/steam-user#weblogon.
-
apps - An array, object, string, or number (see below)
Reports to Steam that you're playing or using zero or more games/apps. To exit all games/apps, use an empty array [].
To play a single game by AppID, use a single integer (e.g. 440)
To play a single non-Steam game by name, use a single string (e.g. "Minecraft")
To play a single game by AppID and name (the client-provided name is what is given to the WebAPI and mobile app), use an object of this format:
{"game_id": 440,
"game_extra_info": "Team Fortress 2"
}
You can use multiple apps by providing an array of any mixture of the above formats.
You can use multiple apps by providing an array of any mixture of the above formats.
How would I do that? Like this?
client.gamesPlayed({ "game_id": 440 }, { "game_id": 730 });
-
When you log in you won't have the cookies yet. It's emitted on a websession <-- this is for steam-user, not steamcommunity. This is how I did it with steam-user, I will look into steamcommunity and try to fix it for you
var SteamUser = require('steam-user'); var client = new SteamUser(); client.logOn(login); client.on('webSession', function(sessionID, cookies) { community.setCookies(cookies); manager.setCookies(cookies); community.startConfirmationChecker(10000, '*'); });
EDIT: Idk how to do it with steamcommunity. I would recommend logging in with steam-user and then setting the cookies for steamcommunity and steam-tradeoffer-manager like I did. Easiest thing for me. Good luck!
-
I have no idea, can you post your code?
-
You need databases to handle the gambling, record winners, have all the items in csgo registered in all quality. You need scripts for gambling, for choosing a winner etc. After youve got that you need a bot that is able to communicate with the database to give the winners their winnings and to handle deposits. I don't know much about it but I think it works like that. There are many leaked CSGO gambling websites on leakforums.net. I would recommend downloading some and taking a look at the code(make sure its recent, or try to challange yourself by patching outdated leaked websites by updating them )
Leakforums link to find gambling websites: https://leakforums.net/forum-489
-
market_hash_name is typically the English version of market_name, but not always (e.g. Steam trading cards, backgrounds, and emoticons have their market_hash_names prefixed with the appid of the owning app). Also note that unmarketable items aren't guaranteed to have a market_hash_name or market_name (they always will for Valve games, at the present moment). Outside of those exceptions, market_hash_name is a good candidate for identifying an item.
The item's assetid is just how you refer to the item when you're trading and such. It's unique for every single item in the game, and it changes when you trade it.
Okay, so only accepting a trade if ... item is included is not possible with the assetid. Since I am only trading CS:GO items (always marketable) I think I will use market_hash_name. Do you have any suggestions to save trades my bot has to accept in another file?
-
var givePrice = 0; var getPrice = 0; offer.itemsToGive.forEach(item => market.getItemPrice(730, item.market_hash_price, function(err, data){ givePrice = givePrice + parseInt(data.median_price); })); offer.itemsToReceive.forEach(item => market.getItemPrice(730, item.market_hash_price, function(err, data){ getPrice = getPrice + parseInt(data.median_price); })); setTimeout(function(){ if (getPrice > givePrice) { offer.accept(true, function(err, status) { if(err) { console.log('Error: ' + err); } else if(status == 'accepted') { console.log('Offer accepted'); } } } else { offer.decline(); } },10000); // giving it 10 seconds to load all the item median prices (yes im lazy)
I guess that could work
-
I am currently using the market_hash_name since it is always the same for the item (It's the english version of the market_hash). I've heard something about assetid aswell. I am not sure what to use. (By the way sorry for spamming this forum )
Adding on to that how do I accept trades as long as the itemsToReceive and itemsToGive are correct?
I would like to save the itemToReceive and itemToGive that make the bot accept the trade in a trades.js file and add it to this if statement so that it works:
if (offer.partner.getSteamID64() === '76561198127334975' | offer.itemsToGive.length === 0 /*|| itemsToReceive.market_hash_name and itemsToGive.market_hash_name from the offer equal those from the config*/) { offer.accept(); }
So if anybody can help me with that it would be awesome
-
Solved: Yes, as long as you have the identity secret
-
-
itemsToReceive, itemsToGive. https://github.com/DoctorMcKay/node-steam-tradeoffer-manager/wiki/TradeOffer. Tradeoffer properties. If your tradeoffer is var'ed as offer you would do offer.itemsToReceive to get an array of items you will receive.
-
The question is how do I 'filter' trade offers. So only accept the offer if the trade contains ... itemsToReceive and ... itemsToGive. I want to achieve this using another file containing those option. I don't know how I should store them (like as an array, array of objects etc). I think an array of objects could work. So I made this as sample file:
module.exports = { trades: [{ "itemsToReceive": "Breakout Key", "itemsToGive": "Mac-10 | Neon Rider (Factory New)" }, { "itemsToReceive": "Falchion Key", "itemsToGive": "P250 | Sand Dune (Battle Scarred)" }] } //all values represent their market_hash_name's
-
Your time or your secret is wrong.
Checking confirmations Accepting confirmation #424703489
-
Your time or your secret is wrong.
Nevermind, I used this guide: http://forums.backpack.tf/index.php?/topic/45995-guide-how-to-get-your-shared-secret-from-ios-device-steam-mobile/&do=findComment&comment=485566 (Phineas solved it). There it said that the secret_1 was the identity secret instead of identity_secret. I used identity_secret now and it works... Thanks!
-
Your time or your secret is wrong.
I'm sure it isn't I can log in etc without any problem. I made a js file using steam-totp to log the codes and they changfe exactly at the same time as on my phone
-
There are a few guides for extracting the details from your phone using a backup. Google around for one, I don't know where to find one off-hand.
Yes I know how to do that and have all those details but I think you can only confirm trades on 1 main device. I can do it on my phone but not via the bot. I can also not confirm trades via another device where I logged in with steam
****
Edit: This is what the debug tells me:
Checking confirmations Can't check confirmations: 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.
'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.' <-- this is my case
-
I also did it that way. I have made a file called bots.js exporting an array of objects. bot1 and bot2. If bot1 is true bot1 runs, same for bot2
-
Or do I have to remove it from that device and set it up via the bot like this:
community.enableTwoFactor(function(err, response) { console.log(response); // So the shared secret, revocation code and the identity secret are in the response. How am I able to save it in a file instead of logging it and then saving it in a file? });
I hope there is a way of not having to remove my current device. My old phone broke so I have been waiting all week to be able to trade again since I linked my new phone.. x)
Only accept certain trade offers
in node-steam-tradeoffer-manager
Posted · Edited by timgfx
Well I think it would be a lot easier if the bot receives offers, I am going to use it as trade bot to buy quicksells (csgo items via csgolounge), and to make it easy people can send their offers and instantly get accepted.