Steamgifs-Autojoin

SteamGifts Autojoin Bot

Um bot para automatizar a entrada em giveaways do SteamGifts.

Funcionalidades


🐳 Docker (recomendado — funciona em qualquer lugar)

A forma mais simples de correr o bot é via Docker, passando os cookies como variável de ambiente.

1. Obter os cookies

Abre o browser, faz login no SteamGifts e exporta os cookies da sessão como JSON. O valor deve ter o seguinte formato:

{"PHPSESSID": "...", "steamLoginSecure": "..."}

Podes usar extensões como Cookie-Editor para exportar os cookies no formato JSON.

2. Correr o container

docker run --rm \
  -e COOKIES='{"PHPSESSID":"...","steamLoginSecure":"..."}' \
  ghcr.io/jotanmiguel/steamgifs-autojoin:main \
  --max-pages 5

Usando um ficheiro .env

# .env
COOKIES='{"PHPSESSID":"...","steamLoginSecure":"..."}'
docker run --rm --env-file .env ghcr.io/jotanmiguel/steamgifs-autojoin:main --all

Usando Docker Compose

# docker-compose.yml
services:
  steamgifts-bot:
    image: ghcr.io/jotanmiguel/steamgifs-autojoin:main
    environment:
      - COOKIES={"PHPSESSID":"...","steamLoginSecure":"..."}
    command: ["--max-pages", "5"]
docker compose run --rm steamgifts-bot

3. Opções disponíveis

Flag Descrição Default
--max-pages N Número máximo de páginas a buscar 5
--all Busca todas as páginas (ignora --max-pages)
--verbose Ativa logs detalhados (DEBUG)
--local Usa cookies de ficheiro local em vez da env COOKIES

4. GitHub Actions / CI

Guarda os cookies como um secret do repositório com o nome COOKIES e usa o workflow incluído:

- name: Run bot
  env:
    COOKIES: $
  run: python main.py --all

🐍 Instalação local (Python)

Requisitos

pip install -r requirements.txt

Correr o bot com cookies de ficheiro local

# Guardar cookies no ficheiro cookies/steamgifts.json e depois:
python main.py --local --max-pages 5 --verbose

Correr o bot com variável de ambiente

export COOKIES='{"PHPSESSID":"...","steamLoginSecure":"..."}'
python main.py --max-pages 5

Estrutura do projeto

├── main.py               # Script principal
├── Dockerfile            # Imagem Docker
├── docker-compose.yml    # (opcional) exemplo Docker Compose
├── src/                  # Código fonte
│   ├── save_cookies.py
│   ├── session_manager.py
│   ├── get_giveaways.py
│   ├── join_giveaways.py
│   └── config.py
├── utils/                # Funções utilitárias
│   └── logger.py
├── data/                 # Dados dos giveaways recolhidos
└── requirements.txt

Avisos