Files
TwitchDropsMiner/README.md
EthanBlazkowicz 6e6d9dbf17 Added "Add Game" button function (#33)
* All games will be linked

* feat: Add 'Add Game' button to Settings tab

- Added 'Add Game' button to Games to Watch section in Settings
- Implemented logic to add custom games via search input
- Fixed alignment issue with games filter search bar
- Added English translations for new UI elements

* fix PR 33 review issues

---------

Co-authored-by: ethanblazkowicz <wow990922@outlook.com>
Co-authored-by: LeonSparta <46887992+LeonSparta@users.noreply.github.com>
Co-authored-by: Fengqing Liu <fq_aaron@hotmail.com>
2026-04-30 11:41:01 +10:00

7.9 KiB

🌟 Twitch Drops Miner (TDM)

🎮 Automate Twitch Drop Farming — Effortlessly, Headlessly, and Bandwidth-Free

Stars Release Docker Pulls License Python

A modern, AI-assisted fork of DevilXD/TwitchDropsMiner — rebuilt for reliability, simplicity, and automation.
Twitch Drops Miner lets you automatically farm Twitch drops without ever opening a stream.
No more tab juggling, channel switching, or missing rewards — just set it, forget it, and collect.


Features

  • 🚀 Streamless Mining — Earn drops without streaming video by sending Twitch GraphQL watch events
  • 🔍 Automatic Campaign Discovery — Detects new drop events automatically
  • ⚙️ Auto Channel Switching — Always mines the best available stream
  • 💾 Persistent Login — OAuth login saved via cookies
  • 🕹️ Simple Web UI — Manage everything from your browser
  • 🛡️ Safe Frontend Rendering — Dynamic UI content is rendered with DOM APIs to avoid HTML injection
  • 🧩 Docker-Ready — One command to deploy anywhere

🐳 Using Pre-Built Image (Docker run)

docker pull rangermix/twitch-drops-miner:latest
docker run -d -p 8080:8080 -v $(pwd)/data:/app/data rangermix/twitch-drops-miner:latest

📦 Using Docker Compose

services:
  twitch-drops-miner:
    image: rangermix/twitch-drops-miner:latest
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
      # optional, use if you want to persist logs
      - ./logs:/app/logs
    environment:
      # Set timezone (optional, defaults to UTC)
      - TZ=Australia/Sydney
    restart: unless-stopped

🧑‍💻 From Source (for Developers)

# Python 3.10+
pip install -e .
python main.py

Visit 👉 http://localhost:8080


🌈 Using the Web App

  1. Open http://localhost:8080
  2. Login with your Twitch account (OAuth device flow)
  3. The miner auto-fetches available campaigns
  4. Select games you want to farm, or type a custom game and click Add Game → click Reload
  5. TDM starts mining drops automatically 🎉

📝 Tip:
Make sure your Twitch account is linked to your game accounts →
👉 https://www.twitch.tv/drops/campaigns


⚠️ Notes & Warnings

⚠️ Avoid Watching on the Same Account
Watching Twitch manually while the miner runs can cause progress desync.
Use a different account if you want to watch live streams while mining.

💡 Requirements
Python 3.10+
Docker optional but recommended
Persistent data stored in /data


🖼️ Screenshot

screenshot

A clean, modern web UI lets you control everything from your browser.


💖 Support the Project

If TwitchDropsMiner saves you time or bandwidth, please consider supporting continued development:

Buy Me a Coffee

Star this repo → it really helps visibility!
💬 Open an issue or submit a PR if you want to contribute.

You can also support the original author @DevilXD:
👉 buymeacoffee.com/DevilXD or Patreon.


🎯 Project Goals

Goal Description
🎯 Focus Twitch Drops automation
🧩 Ease of Use Simple web UI
🛡️ Reliability Designed for continuous operation
⚙️ Efficiency Minimal API calls, Twitch-friendly
🐳 Deployment Docker-first, headless operation

🙏 Acknowledgments

This project is a fork of the brilliant TwitchDropsMiner by @DevilXD.
Huge thanks to DevilXD and all contributors who built the foundation.

For detailed translation and contribution credits, see Acknowledgments below.


🧾 Disclaimer

⚙️ This fork is heavily maintained and developed using AI-assisted coding (Claude Code).
While stable, the codebase reflects “vibe coding” patterns — always review changes before deployment.
Use responsibly.


🧑‍💻 Original Project Credits

@guihkx - For the CI script, CI maintenance, and everything related to Linux builds.
@kWAYTV - For the implementation of the dark mode theme.

@Bamboozul - For the entirety of the Arabic (العربية) translation.
@Suz1e - For the entirety of the Chinese (简体中文) translation and revisions.
@wwj010 - For the Chinese (简体中文) translation corrections and revisions.
@zhangminghao1989 - For the Chinese (简体中文) translation corrections and revisions.
@Ricky103403 - For the entirety of the Traditional Chinese (繁體中文) translation.
@LusTerCsI - For the Traditional Chinese (繁體中文) translation corrections and revisions.
@nwvh - For the entirety of the Czech (Čeština) translation.
@Kjerne - For the entirety of the Danish (Dansk) translation.
@roobini-gamer - For the entirety of the French (Français) translation.
@Calvineries - For the French (Français) translation revisions.
@ThisIsCyreX - For the entirety of the German (Deutsch) translation.
@Eriza-Z - For the entirety of the Indonesian translation.
@casungo - For the entirety of the Italian (Italiano) translation.
@ShimadaNanaki - For the entirety of the Japanese (日本語) translation.
@Patriot99 - For the Polish (Polski) translation and revisions (co-authored with @DevilXD).
@zarigata - For the entirety of the Portuguese (Português) translation.
@Sergo1217 - For the entirety of the Russian (Русский) translation.
@kilroy98 - For the Russian (Русский) translation corrections and revisions.
@Shofuu - For the entirety of the Spanish (Español) translation and revisions.
@alikdb - For the entirety of the Turkish (Türkçe) translation.
@Nollasko - For the entirety of the Ukrainian (Українська) translation and revisions.
@kilroy98 - For the Ukrainian (Українська) translation corrections and revisions.