This bot is dedicated to monitoring and purchasing selected weapon skins.
Please note: The bot is currently compatible only with Chromium-based browsers. Ensure that you install and run the bot on a suitable platform.
While the bot is optimized for weapon skins, it's important to note that it does not currently support stickers and cases. Future updates may address these limitations.
If you encounter any bugs or issues, please open a ticket in the 'Issues' section and they will be addressed promptly.
These instructions will guide you through the process of setting up and running the bot.
- Install Python: The bot is written in Python. If you don't have Python installed on your system, you can download and install it from the official website.
- Clone the repository: Clone this repository to your local machine using
git clone https://github.com/jcardama/csgo-market-sniper.git
. - Install dependencies: Navigate into the cloned repository and run
pip install -r settings/requirements.txt
to install the necessary dependencies. - Modify the configuration file: Update the
settings/config.yaml
file to specify the skins you want the bot to monitor and your proxy settings. Refer to the Configuration section for a detailed explanation. - Run the bot: Finally, run the bot using the command
python csgo-market-sniper.py
. - Post-launch instructions: Once the bot has started, you will need to manually log in to your Steam account. After logging in, the bot will start automatically. The bot will then begin to monitor the specified skins and attempt to purchase them according to the criteria specified in the
config.yaml
file.
Your settings/config.yaml
file should look something like this:
retry_after_server_error: true
retry_after_too_many_requests: true
timeouts:
per_skin: 2
per_page: 2
after_server_error: 10
after_too_many_requests: 60
proxy_url:
skins:
- url: https://steamcommunity.com/market/listings/730/StatTrak%E2%84%A2%20SG%20553%20%7C%20Cyberforce%20%28Field-Tested%29
float:
price:
pages: 5
pattern:
sort_by_float: asc
The bot is capable of handling certain network errors and retrying requests as necessary. You have two options:
retry_after_server_error
: This is a boolean flag (true/false). If set totrue
, the bot will retry a request after encountering a server error (500, 502, 503 status codes). If set tofalse
, the bot will not retry after a server error.retry_after_too_many_requests
: This is a boolean flag (true/false). If set totrue
, the bot will retry a request after encountering a429 Too Many Requests
response. If set tofalse
, the bot will not retry after too many requests.
Note: The network errors handled are related to the skin url, other requests that result in an error are going to be ignored.
The timeouts
section is used to control the delay before certain actions, preventing the bot from making too many requests in a short period of time. You have several options:
per_skin
: This is the delay (in seconds) between each skin request. Default value: 2per_page
: This is the delay (in seconds) between each page request. Default value: 2after_server_error
: Ifretry_after_server_error
is set totrue
, this is the delay (in seconds) that the bot will wait before retrying a request after encountering a server error. Default value: 10after_too_many_requests
: Ifretry_after_too_many_requests
is set totrue
, this is the delay (in seconds) that the bot will wait before retrying a request after encountering a429 Too Many Requests
response. Default value: 60
Note: Timeout parameters are optional. If not provided, the bot will use default values.
The proxy_url
is where you can specify a proxy server that the bot will use for its requests. This might be necessary if you are running many instances of the bot, if your IP has been blocked by the Steam market, or if you need to appear to be in a different geographic location. The format for this setting is username:password@ip:port
. If you're not using a proxy, you can leave this setting empty.
For example, if you're using a proxy server at IP address 192.0.2.0
, port 1080
, and it requires the username myuser
and the password mypassword
for authentication, you would set proxy_url: myuser:[email protected]:1080
.
Here are some popular proxy service providers you might consider:
- Brightdata: Offers a large number of high-quality residential proxies.
- Oxylabs: Provides residential proxies as well as datacenter proxies.
- Smartproxy: Offers a wide range of residential proxies worldwide.
- NetNut: Provides residential proxies with direct ISP connectivity for high speed and stability.
The skins
section is where you specify the skins you want the bot to monitor. For each skin, you have several options:
url
: This is the URL of the item you want the bot to purchase. It should point to the specific page of the item on the Steam market. For example,https://steamcommunity.com/market/listings/730/StatTrak%E2%84%A2%20SG%20553%20%7C%20Cyberforce%20%28Field-Tested%29
.float
: This value represents the "wear and tear" of a skin in CS:GO, ranging from 0 (perfect condition) to 1 (worst condition). If you want the bot to purchase an item with a specific float value, you can set this here. For example, if you want to buy items with a float value of 0.09, you would setfloat: 0.09
. If you leave this empty, the bot will not consider float value when purchasing items.price
: This is the price at which you want the bot to purchase an item. It should be set to a decimal value representing the price in your currency. If you leave it empty, the bot will not consider price when purchasing items.pages
: This is the number of Steam market pages from which you want the bot to consider items. For example, if you want the bot to check the first 5 pages of listings for the item, you would setpages: 5
. If you leave it empty, the bot will check all available pages.pattern
: This is a list of pattern IDs you want the bot to consider. Pattern IDs in CS:GO represent specific pattern variations for skins, and each one is unique. If you want the bot to purchase items with specific patterns, you would setpattern: 1, 2, 3
. If you leave it empty, the bot will not consider pattern when purchasing items.sort_by_float
: This determines how the bot should sort items based on their float values. If you want the bot to prioritize items with lower float values, you would setsort_by_float: asc
. If you want the bot to prioritize items with higher float values, you would setsort_by_float: desc
. If you leave it empty, the bot will not sort items based on float value.
- Have the previous session being restored to avoid logging in every time you use the bot.
- Filter skins with or without stickers (currently limited by the CSGOFloat extension).
- Setting to buy higher than set float skin, not lower only.
- Buy stickers, cases, agents etc.
If you encounter any issues or have any suggestions for improving the bot, please open an issue in the GitHub repository. Your feedback is valuable and helps to enhance the bot for better functionality and user experience.
This bot is designed to automate the process of purchasing skins on the CS:GO market. Please use it responsibly and at your own risk. The author is not responsible for any actions you undertake using this bot.
This project is licensed under the GNU General Public License - see the LICENSE.md file for details.