Files
Twitch-Drops-Miner/Docs/PROJECT_ROADMAP.md
Majjo Duran 9f2f62e2f2 Initial push: Fork setup and codebase documentation
- Added .github and .vscode to .gitignore
- Created Docs folder with comprehensive documentation
- Added CODEBASE_ANALYSIS.md: Detailed analysis of existing bot architecture
- Added PROJECT_ROADMAP.md: Project goals and development roadmap
- Project goal: Transform Channel Points Miner into Twitch Drops Miner
2026-02-17 14:13:57 +01:00

10 KiB

Twitch Drops Miner - Project Goals & Roadmap

Project Name: Twitch Drops Miner
Repository: https://gitea.majjoduran.app/majjo/Twitch-Drops-Miner
Fork From: Twitch-Channel-Points-Miner-v2 by rdavydov
Date Started: February 17, 2026


🎯 Project Vision

Transform the Twitch Channel Points Miner into a dedicated Twitch Drops farming bot that efficiently collects drops from multiple campaigns across different games, optimizing watch time and maximizing drop acquisition.


🔑 Key Objectives

Primary Goals:

  1. Drops-First Approach: Make drops collection the primary and only focus
  2. 🎮 Multi-Campaign Support: Handle multiple active campaigns simultaneously
  3. 🤖 Smart Automation: Automatically find best streams for active campaigns
  4. 📊 Progress Visibility: Clear, real-time drop progress tracking
  5. Efficiency: Minimize wasted watch time, maximize drops/hour

Secondary Goals:

  • Multi-account support (future)
  • Drop value tracking (rarity, market data)
  • Campaign notification system
  • Historical stats and analytics

📋 Development Phases

Phase 1: Foundation & Setup (Current)

Status: In Progress
Timeline: Day 1

Tasks:

  • Fork and clone repository
  • Set up git remotes (origin → Gitea, upstream → original)
  • Install dependencies
  • Review and document codebase
  • Add .github and .vscode to .gitignore
  • Initial commit and push to Gitea
  • Create project README

Phase 2: Simplification & Cleanup

Status: Not Started
Timeline: Days 2-3

Tasks:

  • Remove/disable betting system
  • Remove/disable channel points tracking mechanisms
  • Simplify priority system to drops-only
  • Remove unnecessary analytics features
  • Strip out community goals and prediction code
  • Clean up UI/logging to focus on drops
  • Update configuration templates

Deliverables:

  • Leaner codebase focused solely on drops
  • Updated example.py with drops-only config
  • Simplified settings structure

Phase 3: Core Drops Enhancement

Status: Not Started
Timeline: Days 4-7

Tasks:

  • Reduce campaign sync interval (30min → 5-10min)
  • Implement real-time drop progress updates
  • Add drop completion ETA calculations
  • Enhanced drop progress logging with visual bars
  • Add campaign priority ranking system
  • Implement smart campaign switching logic
  • Add drop history tracking

Deliverables:

  • More responsive drop detection
  • Better progress visibility
  • Smarter campaign management

Phase 4: Intelligent Streamer Selection

Status: Not Started
Timeline: Days 8-10

Tasks:

  • Implement campaign-aware streamer discovery
  • Auto-find eligible streams for active campaigns
  • Prioritize streams by viewer count (balance detection risk)
  • Handle channel-specific drop restrictions
  • Add fallback logic when no eligible streams online
  • Stream quality optimization (lowest bandwidth)

Deliverables:

  • Automatic streamer discovery per campaign
  • Optimized watch strategy
  • Reduced manual configuration

Phase 5: Configuration & Usability

Status: Not Started
Timeline: Days 11-12

Tasks:

  • Create simple drop-focused configuration wizard
  • Implement configuration validation
  • Add campaign whitelist/blacklist
  • Game preference system
  • Dry-run mode for testing
  • Better error messages and troubleshooting

Deliverables:

  • User-friendly setup process
  • Flexible campaign filtering
  • Easier debugging

Phase 6: Advanced Features

Status: Not Started
Timeline: Days 13-15

Tasks:

  • Multi-account support (parallel farming)
  • Drop value/rarity tracking
  • Campaign notifications (new campaigns, completion)
  • Web dashboard for monitoring
  • Mobile notifications support
  • Drop statistics and reporting

Deliverables:

  • Professional-grade farming tool
  • Comprehensive monitoring
  • Historical analytics

Phase 7: Testing & Documentation

Status: Not Started
Timeline: Days 16-18

Tasks:

  • Comprehensive testing with real campaigns
  • Performance optimization
  • Memory leak testing
  • Complete user documentation
  • API documentation for developers
  • Troubleshooting guide
  • FAQ section

Deliverables:

  • Stable, production-ready bot
  • Complete documentation
  • User guides and tutorials

Phase 8: Polish & Release

Status: Not Started
Timeline: Days 19-20

Tasks:

  • Code cleanup and refactoring
  • Add license and attribution
  • Create release notes
  • Setup CI/CD (optional)
  • Docker container support
  • Release v1.0.0

Deliverables:

  • First public release
  • Docker image
  • Installation guides

🛠️ Technical Architecture Changes

Current Architecture:

Channel Points Focus
├── Watch streams for points
├── Make predictions/bets
├── Claim bonus points
└── Drops as secondary feature

Target Architecture:

Drops Focus
├── Monitor active campaigns
├── Auto-discover eligible streams
├── Watch for drop progress
├── Claim drops automatically
└── Optimize for maximum drops/time

🔧 Key Technical Changes

1. Priority System Overhaul

# OLD (Multi-priority)
priority=[Priority.STREAK, Priority.DROPS, Priority.ORDER]

# NEW (Drops-focused)
priority=DropsPriority.CAMPAIGN_URGENCY  # Expiring campaigns first

2. Campaign Sync Optimization

# OLD: 30-minute sync interval
sync_interval = 1800  # seconds

# NEW: 5-10 minute interval + smart triggers
sync_interval = 300  # More responsive
trigger_sync_on = ["drop_claimable", "campaign_progress"]

3. Streamer Selection Logic

# OLD: Manual list + priority order
streamers = [Streamer("user1"), Streamer("user2")]

# NEW: Auto-discovery based on campaigns
def get_eligible_streamers(campaign):
    """Discover live streams eligible for campaign drops"""
    # Query Twitch directory for game
    # Filter by campaign requirements
    # Return optimal stream to watch

4. Configuration Simplification

# OLD: Complex multi-feature config
TwitchChannelPointsMiner(
    username="user",
    priority=[...],
    streamer_settings=StreamerSettings(
        make_predictions=True,
        follow_raid=True,
        claim_drops=True,
        watch_streak=True,
        # ... 10+ more options
    )
)

# NEW: Drops-focused config
TwitchDropsMiner(
    username="user",
    auto_discover_streams=True,
    campaign_filters={
        "games": ["Overwatch 2", "Valorant"],
        "priority": "expiring_first"
    },
    notifications=["drop_claimed", "campaign_complete"]
)

📊 Success Metrics

Performance Targets:

  • Drop claim success rate: >95%
  • Campaign detection latency: <5 minutes
  • False positive rate: <1%
  • Memory usage: <500MB
  • CPU usage: <10% average

User Experience Targets:

  • Setup time: <10 minutes
  • Configuration complexity: Minimal
  • Log clarity: Excellent
  • Error recovery: Automatic

🚧 Known Challenges

Technical Challenges:

  1. Campaign Discovery: Twitch API limitations for finding eligible streams
  2. Rate Limiting: GraphQL request throttling
  3. Drop Detection: Ensuring timely progress updates
  4. Stream Quality: Balance between bandwidth and detection

Strategic Challenges:

  1. Bot Detection: Twitch's anti-automation measures
  2. Account Safety: Avoiding bans
  3. Ethical Considerations: Respect for streamers/platform
  4. Multi-account Limits: Twitch TOS compliance

Solutions:

  • Implement human-like behavior patterns
  • Randomize timing and actions
  • Respect rate limits
  • Clear documentation on safe usage
  • Disclaimer about TOS compliance

🔐 Ethical Considerations

Important Notes:

  • This tool is for educational purposes
  • Users are responsible for compliance with Twitch TOS
  • We do not encourage violations of platform rules
  • Use responsibly and respect content creators
  • Consider supporting streamers you enjoy

📚 Documentation Plan

User Documentation:

  • Installation guide
  • Quick start tutorial
  • Configuration reference
  • Troubleshooting guide
  • FAQ
  • Best practices

Developer Documentation:

  • Architecture overview
  • API reference
  • Contributing guidelines
  • Code style guide
  • Testing procedures

🤝 Contributing Guidelines (Future)

When ready for contributions:

  • Clear code of conduct
  • Issue templates
  • PR guidelines
  • Development setup guide
  • Testing requirements

📅 Timeline Summary

Phase Duration Status
Phase 1: Setup 1 day 🟡 In Progress
Phase 2: Cleanup 2 days Not Started
Phase 3: Core Enhancement 4 days Not Started
Phase 4: Smart Selection 3 days Not Started
Phase 5: Configuration 2 days Not Started
Phase 6: Advanced Features 3 days Not Started
Phase 7: Testing & Docs 3 days Not Started
Phase 8: Release 2 days Not Started
Total ~20 days 5% Complete

🎉 Milestone Celebrations

  • 🎊 Milestone 1: First successful auto-claimed drop
  • 🎊 Milestone 2: Complete one full campaign automatically
  • 🎊 Milestone 3: Support 5 simultaneous campaigns
  • 🎊 Milestone 4: 100 drops claimed in testing
  • 🎊 Milestone 5: v1.0.0 Release

📝 Notes & Ideas

Future Enhancement Ideas:

  • Browser extension for manual claiming backup
  • Mobile app for monitoring
  • Drop marketplace integration
  • Campaign calendar/schedule
  • Community drop trading (if allowed)
  • AI-powered campaign selection
  • Distributed farming across multiple machines

Community Features:

  • Campaign sharing/recommendations
  • Drop tracking leaderboard
  • Community statistics
  • Best stream suggestions

🔄 Change Log

2026-02-17:

  • Initial project setup
  • Repository forked and cloned
  • Dependencies installed
  • Codebase analysis completed
  • Project roadmap created
  • Added .github and .vscode to .gitignore

This roadmap is a living document and will be updated as the project progresses.

Last Updated: February 17, 2026