https://github.com/max9159/apple-store-price-alert
It checks the Apple Store page (US, CA, TW, JP) every hour in GitHub Actions, stores the last successful snapshot, and Automate sending a Telegram report.
https://github.com/max9159/apple-store-price-alert
applestore automation github-actions telegram telegrambot
Last synced: 5 days ago
JSON representation
It checks the Apple Store page (US, CA, TW, JP) every hour in GitHub Actions, stores the last successful snapshot, and Automate sending a Telegram report.
- Host: GitHub
- URL: https://github.com/max9159/apple-store-price-alert
- Owner: max9159
- License: mit
- Created: 2026-03-12T07:55:54.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-06-06T16:12:35.000Z (9 days ago)
- Last Synced: 2026-06-06T18:09:09.900Z (9 days ago)
- Topics: applestore, automation, github-actions, telegram, telegrambot
- Language: TypeScript
- Homepage:
- Size: 637 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Apple Refurbished Mac Studio Monitor
This repository monitors refurbished `Mac Studio` listings on the Apple Store for:
- US: `https://www.apple.com/shop/refurbished/mac/mac-studio`
- Canada: `https://www.apple.com/ca/shop/refurbished/mac/mac-studio`
- Taiwan: `https://www.apple.com/tw/shop/refurbished/mac/mac-studio`
It checks the pages every hour in GitHub Actions, stores the last successful snapshot on a dedicated `monitor-state` branch, and sends a Telegram report after the initial baseline is seeded.
## What it tracks
- `new` items: currently listed but not present in the previous successful snapshot for that store
- `old` items: currently listed and already seen in the previous successful snapshot for that store
- returned items: treated as `new` again if they disappeared in an earlier snapshot and later reappeared
## Local commands
- `npm test`
- `npm run monitor`
- `npm run telegram`
Running `npm run monitor` locally writes ignored artifacts to `state/`:
- `state/monitor-state.json`
- `state/latest.json`
- `state/latest.md`
## GitHub setup
1. Initialize this directory as a Git repository if needed.
2. Push it to GitHub.
3. Add these repository secrets:
- `TELEGRAM_BOT_TOKEN`
- `TELEGRAM_CHAT_ID`
4. Enable GitHub Actions for the repository.
5. Run the workflow manually once with `workflow_dispatch`.
The first successful run seeds the baseline and does not send Telegram. Every later run sends a Telegram summary, even if there are no new items.