Steam update delivery combines several source types: official news, Workshop updates, and free-game events. Each source has a different shape, so fetching, normalization, deduplication, and rendering are separated.
Project Overview
Repository: DearCrazyLeaf/astrbot_plugin_steam_updates.
The project uses a main implementation file plus appid_map.json, fonts, schema, and tests. It polls Steam news, Workshop pages, and free-game pages, then sends text or image cards.
It fits game community update reminders, mod author tracking, free-game alerts, and multi-game subscription management.
Implementation
Steam News API is the primary source for official news, with RSS as a fallback. Workshop updates are checked through PublishedFileID pages. Free-game events are normalized into title, time, cover, and link.
Each source has its own state file. Entries pass through deduplication, summary, image prefetching, and rendering. Pillow cards carry title, time, cover, and summary; text mode remains the low-dependency fallback.