-
Notifications
You must be signed in to change notification settings - Fork 0
Events
The Events page at /events tracks every current and upcoming Pokemon GO event: Community Days, raid weekends, Spotlight Hours, GO Battle League rotations, seasonal events, and more. Cards show live countdowns, and clicking a card opens a detail view with bonuses, featured Pokemon, research, and shiny debuts.
Events are split into two sections:
- Current -- events running right now, sorted by which ends soonest (events with no end time sort last)
- Upcoming -- future events, sorted by which starts soonest
Each card shows the event artwork, a category badge (its heading or event type), the name, the start and end times, and a countdown chip: "starts in 2d 5h" for upcoming events or "ends in 3h 41m" for current ones. Countdowns refresh every minute, and past events are filtered out entirely.
All times are displayed in your local time using your language's date format. Most Pokemon GO events run on local time, so what you see is when the event actually happens for you.
Click a card to open the detail modal. It shows the artwork, badge, name, and start and end times, then the full event writeup: bonuses, featured and boosted spawns, raid bosses, field or special research, and which Pokemon debut or appear as shinies (marked with a sparkle). A link at the bottom opens the original LeekDuck page.
If the full writeup is not available for an event, the modal falls back to structured data from the feed: Community Day spawns, bonuses, shinies, and special research steps; raid day bosses and shinies; Spotlight Hour Pokemon and bonus; and the current Research Breakthrough reward.
The page is rendered by ts/events.ts from two server endpoints; see Data-Sources for the upstream attribution.
Event list. /api/events serves the event feed fetched from the ScrapedDuck project (the bigfoott/ScrapedDuck data branch on GitHub), which machine reads LeekDuck. The server refreshes it on a slow cycle, comfortably above ScrapedDuck's requested minimum interval. Feed timestamps are timezone-less ISO strings (for example 2026-06-20T14:00:00.000); JavaScript parses those as local time, which matches the local time semantics of most events.
Detail content. /api/events/{id} serves the body of the matching LeekDuck event page, scraped server side on its own slow cycle with polite delays between page fetches. The HTML is sanitized server side with bluemonday before it is stored or served, only leekduck.com URLs are ever fetched, and relative links are resolved against the LeekDuck origin. The client caches each detail for the session and injects it directly; if a detail is empty or fails to load, it renders the structured extraData fallback instead.
Translated UI strings (section titles, "starts in", and so on) reach the script through the inline EV object defined in templates/events.html; see Localization for how that pattern works.
Repository | Live site | hailsDotGO is a fan-made project, not affiliated with, endorsed by, or connected to Niantic or The Pokémon Company. Game data comes from community sources credited on the Data Sources page.
Start Here
Features
- Raids and Counters
- DPS Calculator
- IV Calculator
- PvP IV Ranker
- Events
- Shiny Tracking
- Trainer Directory
- Raid Finder
- Social Features
- Trust and Awards
- Bug Reports
- Player Reports
- Store
- Accounts and Roles
- Admin Guide
Self-Hosting
Development
Translations