Skip to content

ZenmoFeiShi/app-store-update-tracker-bot

Repository files navigation

🤖 App Store Update Tracker Bot

追踪 Apple App Store 应用更新,并通过 Telegram 自动推送通知的轻量机器人。

Stars Python Docker

用户把 App Store 链接发给机器人后,机器人会自动记录该应用,并由定时任务持续检查版本变化;一旦检测到新版本,就把版本号、发布日期、更新说明和应用链接推送到 Telegram。

✨ 功能

  • 通过 Telegram UID 白名单绑定使用者,默认拒绝未授权用户
  • 发送 App Store 链接后自动加入追踪
  • 自动解析 App ID 和国家/地区
  • 同一用户重复添加时自动去重
  • 支持查看当前追踪列表
  • 支持按编号取消追踪
  • 定时检查版本号和更新说明变化
  • 检测到更新后自动推送 Telegram 消息
  • 使用 SQLite 本地存储,部署简单
  • 同时支持本地运行、Docker 部署、systemd 部署

🚀 快速开始

1. 克隆项目

git clone https://github.com/ZenmoFeiShi/app-store-update-tracker-bot.git
cd app-store-update-tracker-bot

2. 安装依赖

python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt

3. 配置环境变量

cp .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

4. 启动机器人

. venv/bin/activate
export TG_BOT_TOKEN="your_bot_token"
export TG_ALLOWED_USER_IDS="your_telegram_uid"
python3 bot.py

5. 手动执行一次更新检查

. 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

🐳 Docker 部署

准备 .env 后:

docker compose up -d

更完整的部署说明见 DEPLOYMENT.md

Author

@ZenmoFeiShi

About

App Store 应用更新追踪 Bot,自动推送 Telegram 通知

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors