How journeydocker/twitchdropsminer works
Twitch Drops Miner is a desktop application that advances timed Twitch drops without downloading stream media. The user logs in, selects prioritized games, and starts processing; the client discovers eligible campaigns and channels, tracks stream status, periodically sends watch requests, and claims completed drops. The GUI also exposes inventory, channel, progress, and settings views, with optional notifications. The README documents capabilities such as sharded websocket tracking and campaign validation; excerpts show the client, channel, inventory, and websocket roles, but not all of their internal wiring.
Main entry points: twitch.py Twitch client · gui.py Desktop GUI · cache.py Image cache · notifications.py Drop notifications
Components 16
User interface
- Desktop GUI
gui.py - Application entry
main.py
Drop mining
- Campaign inventory
inventory.py - Channel and stream
channel.py - Timed drops
inventory.py
Twitch connectivity
- Twitch client
twitch.py - Websocket pool
websocket.py
Settings and support
- Settings
settings.py - Settings file
- Drop notifications
notifications.py - Image cache
cache.py - Cached images
- Translations
translate.py
Other components
- User
- Twitch services
- Notification services
Connections 21
- User → Desktop GUI: configures and starts
- Application entry → Twitch client: runs client
- Application entry → Desktop GUI: starts interface
- Desktop GUI → Twitch client: controls and displays
- Desktop GUI → Settings: edits preferences
- Settings → Settings file: loads and saves
- Twitch client → Twitch services: requests account and campaigns
- Twitch client → Campaign inventory: builds campaign state
- Twitch client → Channel and stream: selects and watches
- Channel and stream → Twitch services: requests stream metadata
- Twitch client → Websocket pool: manages subscriptions
- Websocket pool → Twitch client: dispatches stream events
- Twitch client → Timed drops: tracks mining progress
- Timed drops → Twitch services: claims completed drops
- Twitch client → Drop notifications: reports claimed drops
- Desktop GUI → Drop notifications: tests notification settings
- Drop notifications → Notification services: sends alerts
- Desktop GUI → Image cache: displays images
- Image cache → Twitch services: fetches images
- Image cache → Cached images: reads and writes
- Desktop GUI → Translations: loads interface text