Skip to content

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

SteamGifts Bot

Desktop app for automatic giveaway entry on steamgifts.com.

Based on stilManiac/steamgifts-bot, rewritten in Python + PyQt6 with a modern GUI.

Features

  • Automatic giveaway entry
  • Activity feed with Steam game images
  • Entered tab — active joined giveaways with time remaining and Remove
  • IndieGala (beta) — optional auto-join on indiegala.com/giveaways
  • Wins tab — track wins on SteamGifts and IndieGala; tray + Activity alerts
  • Manual select (Yes/No per giveaway)
  • Smart wait when points are insufficient
  • System tray — bot keeps running in the background
  • Start with Windows — launches minimized to tray and auto-starts the bot
  • Auto-update — checks GitHub Releases on startup and installs new builds

Download

Download SteamGiftsBot.exe from Releases (current: v1.0.1).

Quick start

1. Configure steamgifts.com

  1. Log in at steamgifts.com
  2. Go to Giveaway Settings
  3. Disable giveaways you cannot enter — the bot tries to enter everything it sees

2. Cookie (PHPSESSID)

  1. Open DevTools (F12) → Application → Cookies → steamgifts.com
  2. Copy the PHPSESSID value
  3. In the app: Settings → Accounts → paste → Save

The cookie is saved to %APPDATA%\SteamGiftsBot\cookie.txt.

IndieGala (beta)

  1. Log in at indiegala.com
  2. DevTools → Cookies → copy sessionid (and csrftoken if available)
  3. Sidebar → Settings → Accounts → paste → Save
  4. Enable Enable IndieGala giveaways and set entry delay / minimum cost below

After each SteamGifts page, the bot scans the matching IndieGala page. Use a slow entry delay (5+ sec) — fast automation can trigger IndieGala rate limits.

Cookie file: %APPDATA%\SteamGiftsBot\indiegala_cookie.txt

3. Usage

  1. Fetch Points — verify session and check points
  2. Start Bot — begin automatic entry
  3. Activity — entered giveaways, waiting states, manual prompts
  4. Entered — open giveaways you joined; refresh list and remove entries
  5. Wins — giveaways you won (with notifications when something new appears)
  6. Console — full event log
  7. Settings — refresh interval (5/10/15 min), max pages to scan, max giveaway end window, updates

While the bot waits, a countdown appears under the status pill (list refresh or points timer).

Updates

The packaged app checks GitHub Releases for a newer SteamGiftsBot.exe. When an update is found, it downloads the file and restarts to replace the running exe. You can also use Settings → Check for updates.

System tray

  • Minimize to tray on close — closing the window (X) hides it; the bot keeps running. To exit: tray → Quit
  • Double-click the tray icon to open the window

Development

Requirements: Python 3.11+, Windows, curl (included with Windows 10/11)

pip install -r requirements.txt
python python/main.py

Build single exe

.\build.ps1

Output: dist/SteamGiftsBot.exe

Data files

File Location Description
cookie.txt %APPDATA%\SteamGiftsBot\ PHPSESSID session token
indiegala_cookie.txt %APPDATA%\SteamGiftsBot\ IndieGala sessionid (beta)
settings.json %APPDATA%\SteamGiftsBot\ App settings

Do not commit cookie.txt to GitHub — it contains your session token.

Project structure

python/
  main.py              # Entry point
  gui.py               # PyQt6 UI
  bot.py               # Bot logic
  widgets.py           # Activity cards
  steamgifts_service.py
  indiegala_service.py
  wins_tracker.py
  http_client.py       # curl HTTP (bypasses Cloudflare)
  settings.py
  paths.py
  version.py
  updater.py
  windows_startup.py
  theme.py
assets/
  icon.ico             # App icon (window, tray, exe)
scripts/
  generate_icon.py
build.ps1
requirements.txt

License

See LICENSE.

Releases

Packages

Contributors

Languages