Automatically track Azeroth's economy! This toolkit silently gathers World of Warcraft auction house data while you raid, quest, or sleep. Perfect for gold-makers and data enthusiasts!
- 🕵️♂️ Stealthy Collection - Auto-fetches data every hour via GitHub Actions
- 🛡️ Battle.net API Integration - Official access to fresh auction data
- 🗜️ Space-Saving Storage - Compresses data with 7z (Up to 90% smaller!)
- 📊 Smart Processing - Error recovery, retry logic, and data validation
- 🔄 Auto-Archiving - Monthly releases with historical snapshots
- 🔒 Security First - Encrypted credentials and provenance attestation
We transform raw auction data into actionable intelligence using cutting-edge algorithms:
Key Analyses Performed:
- 🎯 Smart Averaging: Dynamic price tracking using time-weighted quantities
- 📶 Instant Market Pulse: Live percentile calculations (median/90th% prices)- 🚨 Anomaly Detection: Flags suspicious listings using statistical thresholds
- ✅ Quality Control: Tracks processed/skipped entries for transparency
Why it matters: Get more than just numbers - understand market health, spot manipulation patterns, and identify prime buying/selling opportunities through continuous analysis.
graph LR
A[GitHub Actions Scheduler] --> B{Fetch Data}
B -->|Success| C[Compress & Store]
B -->|Error| D[Retry Mechanism]
C --> E[Monthly Archive]
E --> F[GitHub Releases]
- Magic Trigger
GitHub Actions wakes up every hour (33 * * * *) or when you push changes - API Wizardry
Talks to Battle.net API using OAuth2 credentials (your secret spellbook 🔮) - Data Alchemy
Transforms raw JSON into compressed time-stamped snapshots - Dragon Hoard
Stores treasures in Releases section (1GB+ data? No problem for 7z!)
- 🐙 GitHub account
- 🔑 Battle.net API Credentials
- ☕ .NET 9 SDK (for local runs)
-
Fork this repository
Click "Fork" at top-right → Create your own copy -
Add Secret Ingredients
Settings → Secrets → Actions → New Repository SecretBattleNetClientId- Your API client IDBattleNetClientSecret- Your API secret key- (Optional)
BattleNetCredentialEncryptionKey- Extra security layer
-
Activate the Golem
Actions tab → Enable workflows → Watch magic happen!
Want immediate results? Run the project manually:
# Local incantation (requires .NET 9)
cd WowAHaha
export AHaha_BattleNetWebApi__ClientId='YOUR_ID'
export AHaha_BattleNetWebApi__ClientSecret='YOUR_SECRET'
dotnet run --configuration Release📁 .github/
└── 📁 workflows/ # Automation blueprints
📁 WowAHaha/
├── 📁 GameDataApi/ # API communication core
├── 📁 Models/ # Data schemas
└── Program.cs # Ritual starting point
📁 wd/ # Generated data vault
└── YYYY-MM-DD/ # Daily treasure troves
Common issues and solutions:
-
"Workflow not running"
- Check Actions permissions
- Verify secrets are properly set
-
"Data files too small"
- API might be rate-limiting - wait 1 hour
- Verify Battle.net credentials
-
"7z not found"
- Ensure
p7zip-fullis installed (Linux runners)
- Ensure
Found a bug? Have an improvement?
→ Open an issue!
→ Submit a PR!
Gold donations accepted (just kidding... unless?) 🐉
MIT Licensed - Do whatever you want, but no evil!
See LICENSE for details.
Keep this repository alive! The keep_alive.yml workflow makes occasional commits to prevent GitHub from archiving inactive repos. Your data collection continues even when you're offline!