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.
git clone https://github.com/jcardama/csgo-market-sniper.git
.pip install -r settings/requirements.txt
to install the necessary dependencies.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.python csgo-market-sniper.py
.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 to true
, the bot will retry a request after encountering a server error (500, 502, 503 status codes). If set to false
, the bot will not retry after a server error.retry_after_too_many_requests
: This is a boolean flag (true/false). If set to true
, the bot will retry a request after encountering a 429 Too Many Requests
response. If set to false
, 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
: If retry_after_server_error
is set to true
, 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
: If retry_after_too_many_requests
is set to true
, this is the delay (in seconds) that the bot will wait before retrying a request after encountering a 429 Too Many Requests
response. Default value: 60Note: 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:mypassword@192.0.2.0:1080
.
Here are some popular proxy service providers you might consider:
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 set float: 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 set pages: 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 set pattern: 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 set sort_by_float: asc
. If you want the bot to prioritize items with higher float values, you would set sort_by_float: desc
. If you leave it empty, the bot will not sort items based on float value.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.