Skip to content
This repository was archived by the owner on Apr 6, 2026. It is now read-only.

feat: add wow guild news tracking#170

Merged
karaktaka merged 4 commits into
mainfrom
feat/wow-guild-news
Feb 14, 2026
Merged

feat: add wow guild news tracking#170
karaktaka merged 4 commits into
mainfrom
feat/wow-guild-news

Conversation

@karaktaka
Copy link
Copy Markdown
Contributor

@karaktaka karaktaka commented Feb 14, 2026

Summary

  • Track guild member achievements, boss kills, and mount collections via the Blizzard API and post notification embeds to a configured Discord channel
  • New /wow guildnews subgroup with commands: setup, remove, list, pause, resume, check
  • Background polling loop (15min) using guild_activity endpoint for achievements/encounters and per-character character_mounts_collection_summary for mount diffing
  • Handles Blizzard API rate limits (429), stale character cleanup (30-day grace), character renames, and concurrent batched API calls via asyncio.Semaphore(5)

Test plan

  • Bot starts without errors, new tables auto-create
  • /wow guildnews setup <guild> <realm> #channel validates guild via API
  • /wow guildnews list shows tracked guilds
  • /wow guildnews check <id> triggers immediate poll, verify embeds post
  • Initial sync processes all batches continuously until all active characters are baselined
  • Subsequent polls only process one batch per cycle with offset rotation
  • /wow guildnews pause / resume toggles tracking
  • /wow guildnews remove deletes config and associated mount data
  • Rate limit (429) gracefully stops batch and resumes next cycle
  • Stale characters (left guild >30 days) are pruned
  • Character renames migrate mount data instead of re-baselining

🤖 Generated with Claude Code

karaktaka and others added 4 commits February 14, 2026 22:33
Track guild member achievements, boss kills, and mount collections
via the Blizzard API and post notifications to a Discord channel.

- Add WowGuildNewsConfig and WowCharacterMounts database models
- Add /wow guildnews subgroup (setup, remove, list, pause, resume, check)
- Add 15-minute background polling loop with guild_activity endpoint
  for achievements/encounters and per-character mount diffing
- Handle rate limits (429), stale character cleanup (30d), and renames
- Concurrent API calls via asyncio.Semaphore(5) with initial sync mode
- Add guild_news config section to config.yaml.template

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix activity feed parsing: read character/achievement data from
  character_achievement and encounter_completed keys (not activity)
- Add thumbnail images to notification embeds (achievement icons,
  boss portraits, mount creature images) via Blizzard media API
- Make check command bypass activity baseline for immediate results
- Restrict check command to bot operators only

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
@karaktaka karaktaka merged commit a25f393 into main Feb 14, 2026
8 checks passed
@karaktaka karaktaka deleted the feat/wow-guild-news branch February 14, 2026 22:07
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant