Skip to content

IvanPeshykov/cs2-skins-parser

Repository files navigation

📦 CS2 Skins Market Parser

A Python-based system for monitoring CS2 skins and stickers on the Steam Community Market. The parser reads skin IDs from a marketplaceids.json file, checks skins stickers price, and sends Telegram notifications when a profitable deal is found.


📌 Features

  • Steam Community Market stickers parsing
  • Sticker detection on skins
  • Sticker prices saving in database
  • Profitability calculation based on stickers
  • Telegram bot notifications
  • Proxy support (HTTP/SOCKS4/SOCKS5)
  • Docker & Docker Compose setup

⚙️ Tech Stack


📊 Simplified workflow diagram

"Screenshot"

📸 Telegram Notification Example

"Screenshot"

📁 Project Structure

steam-parser/
│
├── data/
│   ├── config.py              # Config file
│   ├── currency.json          # File with actual currency rates
│   ├── marketplaceids.json    # Items to parse
│   ├── proxies.txt            # List of proxies
│   ├── stickers.db            # Db of parsed stickers
│   └── wrong.txt              # Wrong stickers
│
├── misc/
│   ├── proxy_manager.py
│   └── telegram_bot.py
│
├── skins/
│   ├── __init__.py
│   ├── filter_skins.py        # Script for filtering marketplaceids.json
│   └── skins.py
│
├── steam/
│   ├── __init__.py
│   ├── steam_currency.py
│   └── steam_parser.py
│
├── stickers/
│   ├── __init__.py
│   ├── stickers.py
│   ├── stickers_db.py
│   └── stickers_parser.py
│
├── telegram-bot/
    ├── bot.py
│   ├── Dockerfile
│   ├── requirements.txt
│   └── stickers_parser.py

├── .env
│   docker-compose.yml
│   Dockerfile
│   main.py
│   parser.py
│   requirements.txt
└── README.md

🛠️ Setup Instructions

1️⃣ Add Proxies

Create and fill the data/proxies.txt file with proxies in the following format:

http://user:pass@ip:port
http://ip:port
socks5://user:pass@ip:port
socks4://ip:port

Each proxy should be on a new line.


2️⃣ Add Steam Market Item IDs

Fill data/marketplaceids.json with the Market hash names to parse:

{
    "items": {
      "M4A4 | Griffin (Field-Tested)": {
      },
      ...
    }
}

You can get the actual market id's here: https://github.com/ModestSerhat/cs2-marketplace-ids


3️⃣ Configure Environment Variables

Create a .env file:

TELEGRAM_BOT_TOKEN=your_telegram_bot_token
TELEGRAM_CHAT_ID=your_user_id

4️⃣ Setup config.py file

Set your preferences like cooldown time, profit margin, etc. in data/config.py:


5️⃣ Run via Docker Compose

docker compose up --build

🐍 Telegram Bot Commands

Command Description
/pause Pauses bot
/resume Resumes bot

📊 How It Works

  • steam_parser.py scrapes skin prices and sticker info from the Steam market.
  • proxy_manager.py rotates proxies to avoid rate limits.
  • stickers_parser.py parses stickers of the skin, manages the database, determines if skin is profitable.
  • Profitable offers are pushed to the telegram_bot.py for Telegram notifications.

About

A python bot that parses steam marketplace for cs2 skins, check skins sitckers and sends notification to Telegram if deal is profitable.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors