追踪 Apple App Store 应用更新,并通过 Telegram 自动推送通知的轻量机器人。
用户把 App Store 链接发给机器人后,机器人会自动记录该应用,并由定时任务持续检查版本变化;一旦检测到新版本,就把版本号、发布日期、更新说明和应用链接推送到 Telegram。
- 通过 Telegram UID 白名单绑定使用者,默认拒绝未授权用户
- 发送 App Store 链接后自动加入追踪
- 自动解析 App ID 和国家/地区
- 同一用户重复添加时自动去重
- 支持查看当前追踪列表
- 支持按编号取消追踪
- 定时检查版本号和更新说明变化
- 检测到更新后自动推送 Telegram 消息
- 使用 SQLite 本地存储,部署简单
- 同时支持本地运行、Docker 部署、systemd 部署
git clone https://github.com/ZenmoFeiShi/app-store-update-tracker-bot.git
cd app-store-update-tracker-botpython3 -m venv venv
. venv/bin/activate
pip install -r requirements.txtcp .env.example .env.env 示例:
TG_BOT_TOKEN=your_telegram_bot_token
TG_ALLOWED_USER_IDS=123456789
TG_DEFAULT_CHAT_ID=your_telegram_user_or_chat_id
CHECK_INTERVAL_MINUTES=30. venv/bin/activate
export TG_BOT_TOKEN="your_bot_token"
export TG_ALLOWED_USER_IDS="your_telegram_uid"
python3 bot.py. venv/bin/activate
export TG_BOT_TOKEN="your_bot_token"
export TG_ALLOWED_USER_IDS="your_telegram_uid"
python3 check_updates.py| 变量名 | 必填 | 说明 |
|---|---|---|
TG_BOT_TOKEN |
是 | Telegram Bot Token |
TG_ALLOWED_USER_IDS |
是 | 允许使用机器人的 Telegram UID;多个 UID 用英文逗号、分号或空格分隔 |
TG_DEFAULT_CHAT_ID |
否 | 预留变量,当前版本不是强依赖 |
CHECK_INTERVAL_MINUTES |
否 | 检查间隔分钟数,默认示例为 30 |
TG_ALLOWED_USER_IDS采用默认拒绝策略:未配置或格式错误时机器人与检查任务都会拒绝启动;未绑定用户发消息时只返回其 UID,不能查看、添加或删除追踪。更新检查也只处理绑定 UID 的记录。多个 UID 示例:123456789,987654321。不要把真实 Token、Chat ID、数据库文件或日志提交到公开仓库。
.
├── bot.py # Telegram 机器人入口
├── check_updates.py # 更新检查脚本
├── requirements.txt # Python 依赖
├── run_bot.sh # Bot 启动脚本
├── run_check.sh # 检查任务启动脚本
├── appstore-tracker-bot.service # Bot 的 systemd service
├── appstore-tracker-check.service # 检查任务 service
├── appstore-tracker-check.timer # 检查任务 timer
├── .env.example # 环境变量示例
├── Dockerfile
├── docker-compose.yml
├── DEPLOYMENT.md # 详细部署文档
└── README.md
直接把 App Store 链接发给机器人:
https://apps.apple.com/cn/app/qq音乐-听我想听/id414603431
/list
/canceltrack
/del 1
准备 .env 后:
docker compose up -d更完整的部署说明见 DEPLOYMENT.md。