Steam Trading Bot


Steam Trading Bot

Steam is a gaming platform used by millions of people a day, users on this platform can trade items such as Trading cards, emoticons, and in game items with other people. The bot I made was able to trade all these items and was able to add and remove friends and chat with automated responses.

Tips and Advice

Some of my tips and advice for people that want to make their own Steam trading Bots firstly the language to choose, the two main options are C# or Node.js. For C# the main library you will use is SteamBot I originally coded my first trading bot in C# and it was okay as there is lots of good documentation however I chose at the time to use Node.js as it had libraries to deal with trade offers and the C# libraries only could deal with trade requests (the older trading system). The C# libraries now fully support trade offers however I still believe that Node.js is the best language to choose for the following reasons, firstly the SteamBot subreddit made to to help people with issues related to the C# library often recommends Node.js now especially for new people, Node.js does not need to me compiled all you need is Node.js installed on your PC and a text editor, a big issue with C# is to run on Linux operating systems Mono has to be used this can cause many problems with different versions doing slightly different things, Mono and C# is slower than Node.js, and finally Node.js uses a lot less RAM and CPU than the C# libraries.

Now assuming you are using Node.js you have many libraries to choose from including node-steamcommunity, node-steam-tradeoffer-manager, node-steam-user, node-steam, node-steam-trade, node-steam-tradeoffers, and much more however in my opinion the best libraries to use are node-steamcommunity and node-steam-tradeoffer-manager as only these two are needed to make a trading bot and you don’t need to have a Steam API key.

The SteamBot subreddit is good for simple questions regarding Steams API and other things but do your own research before posting as most problems can be fixed with the help of Google.

Steam often goes down, sometimes just the API and sometimes more than just that it is annoying whilst testing to fond out that the reason your bot is not connecting is because Steam is down, so if you want to check use Steam Status.

The End of This Bot

The bot started trading in February and little maintenance was needed however on December the 9th 2015 Steam introduced Steam mobile as a mandatory two factor authentication needed for instant trades. If a user did not set up Steam mobile trades will be held in escrow for 3 days as other users needed this feature the bot was broken thus forcing me to recode it. This bot used the node-steam and node-steam-tradeoffers libraries however the new bot uses different libraries.

The Bots Life

During the 10 months the bot was operational it made over 30,000 trades to thousands of users, as the bot was set up mainly for a hobby I think that this was a success. It was very interesting and fun project, the intention of the project was not to make a profit however about £200-250 was made in the months it was running. The bot ran on a Raspberry Pi so the electric costs were negligible, and it needed no effort to run and would only be checked upon about once a fortnight.

The Next Trading Bot

As mentioned previously this bot no longer works however small parts of it were used in the updated bot, the new bots code uses the libraries node-steamcommunity and node-steam-tradeoffer-manager the reason for this was because backpack.tf’s Automatic uses these libraries and if any other big changes in Steam were made in logging in and/or the trading it would be much easier to update the bot as I can just make the same changes as they do.

Project Details

Date: February 2015

Language: Node.JS

Tagged: Steam Bot, Trading Bot, TF2 Trading Bot

Other Projects.

  • Killed by Police - A project scraping and processing data obtained from killedbypolice.net
  • This website - This website is made using Jekyll a open source static website builder.
  • Spintax - A Python module to parse spintax, this was created so one of my bots can send people messages that are not the same every time.
  • Steam Trading Bot - A Steam trading bot used to automatically trade items.

About me

I am interested in Physics, Maths, Programming and also play a few games in my spare time. I have an interest in data and have made webscrapers to gather and process information, I am currently looking into nice ways to display information easily in infographics using Python. I can code in Matlab, Python and have also made a Steam trading bot in Node.JS.

Social Links