Real-time Apple beta & RC firmware watchdog — iOS, iPadOS, macOS, tvOS & visionOS builds pushed straight to Telegram the moment they drop.
No refreshing IPSW.dev, no missed builds, no noise. iBetaBot watches Apple's beta pipeline for you and only speaks up when something actually changes — cron-ready, dependency-light, and running for free on GitHub's own infrastructure.
- 🔭 Continuous monitoring — scrapes IPSW.dev on a 30-minute schedule for new iOS, iPadOS, macOS, tvOS, visionOS, and audioOS builds.
- 🎯 Signal, not spam — persists the last known release state and only notifies on genuine version changes; a transient page hiccup gets one retry before it's ever treated as a real break.
- 💬 Readable Telegram alerts — releases are grouped by version, bolded, and monospaced instead of dumped as a flat list.
- 🧭 Public Beta context — every alert includes a historical note on when the Public Beta typically follows a given Developer Beta.
- 💓 Daily heartbeat — one quiet ping every day confirms the bot is alive even when nothing new has shipped.
- ☁️ Zero-maintenance hosting — runs on GitHub Actions, so it keeps working while your machine is off or asleep.
- Fetches the latest builds from IPSW.dev.
- Compares them against the last known state (
ibeta_last_state.txt). - On a genuine change, sends a formatted Telegram message and updates the state.
- Once per UTC day, sends a heartbeat regardless of whether anything changed.
The included .github/workflows/ibeta_bot.yml runs the bot every 30 minutes on GitHub's infrastructure — no server, no always-on laptop required. It commits ibeta_last_state.txt and ibeta_heartbeat_state.txt back to the repo after each run so state survives between the ephemeral runners.
To enable it, add two repository secrets under Settings → Secrets and variables → Actions:
| Secret | Description |
|---|---|
TELEGRAM_TOKEN |
Your bot token from @BotFather |
CHAT_ID |
The target chat ID to notify |
You can also trigger a run on demand from the Actions tab (workflow_dispatch).
git clone https://github.com/pi0trdotsys/iBetaBot.git
cd iBetaBot
pip install -r requirements.txt
# create a .env file with:
# TELEGRAM_TOKEN=your-bot-token
# CHAT_ID=your-chat-id
python ibeta_bot.pyPair it with your own cron/launchd schedule if you'd rather self-host than use GitHub Actions.
MIT © Piotr Rosiński
