Jump to content
McKay Development

timgfx

Member
  • Posts

    84
  • Joined

  • Last visited

Posts posted by timgfx

  1. This is a bad idea just make the bot send the offer instead of receiving it you'll be selecting one of those whitelisted items instead of checking each item in the offer and stops spamming the forum it's for documentation not on how to build a steam bot 1o1

    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.

  2. 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?

  3. 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. 

  4.  

     

    gamesPlayed(apps)

    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
        });
    
  5. 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! :)

  6. 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

  7. 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?

  8. 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

  9. 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 :P)

     

    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

  10. 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
    
  11. 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! :)

  12. 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

  13. 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)

×
×
  • Create New...