# 📰 财经快讯 Telegram 机器人 自动抓取金十、华尔街见闻、36氪、新浪财经快讯,AI 评分过滤,推送到 Telegram。 --- ## 功能特性 - 🔴 **重磅即时推送** — 评分 ≥8 立即发送 - 🟡 **普通汇总推送** — 评分 6-7,每 N 分钟汇总一条 - 📊 **定时总结** — 08:00 / 11:30 / 20:00 三次 AI 总结 - 🔑 **关键词过滤** — 自定义关注词,精准推送 - 📡 **多源管理** — 一键开关各信息源 - ⚙️ **灵活设置** — 推送阈值、汇总频率均可调节 - 🔄 **去重** — 标题相似度 >70% 自动合并 --- ## 环境变量 | 变量 | 说明 | 必填 | |------|------|------| | `BOT_TOKEN` | Telegram Bot Token(从 @BotFather 获取) | ✅ | | `ADMIN_ID` | 管理员 Telegram 用户 ID | ❌(默认 165067365) | | `DATA_DIR` | 数据目录 | ❌(默认 `/opt/news-bot/data`) | --- ## 快速部署 ### 方法一:直接运行 ```bash # 1. 进入项目目录 cd /path/to/news-bot # 2. 安装依赖 pip3 install -r requirements.txt # 3. 创建数据目录 mkdir -p /opt/news-bot/data # 4. 启动 export BOT_TOKEN="your_bot_token_here" export ADMIN_ID="165067365" python3 bot.py ``` ### 方法二:systemd 服务(Linux) ```ini # /etc/systemd/system/news-bot.service [Unit] Description=Telegram 财经快讯机器人 After=network.target [Service] Type=simple WorkingDirectory=/opt/news-bot ExecStart=/usr/bin/python3 /opt/news-bot/bot.py Environment=BOT_TOKEN=your_bot_token_here Environment=ADMIN_ID=165067365 Environment=DATA_DIR=/opt/news-bot/data Restart=always RestartSec=10 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target ``` ```bash sudo systemctl daemon-reload sudo systemctl enable news-bot sudo systemctl start news-bot sudo systemctl status news-bot ``` ### 方法三:部署到服务器(38.76.204.161) ```bash # 上传文件 scp -r news-bot/ root@38.76.204.161:/opt/news-bot/ # SSH 登录 ssh root@38.76.204.161 # 安装依赖 pip3 install -r /opt/news-bot/requirements.txt # 创建数据目录 mkdir -p /opt/news-bot/data # 配置 systemd(见上方),然后启动 systemctl start news-bot ``` --- ## 文件结构 ``` news-bot/ ├── bot.py # 主入口:Telegram bot + 调度器 ├── sources.py # 信息源抓取(金十/华尔街/36氪/新浪) ├── scorer.py # 评分引擎 + 去重 ├── storage.py # JSON 数据持久化 ├── summarizer.py # 新闻总结生成 ├── requirements.txt ├── README.md └── data/ # 运行时数据(settings.json / news.json / pushed.json) ``` --- ## 命令菜单 | 命令 | 功能 | |------|------| | `/start` | 欢迎页 + 主菜单按钮 | | `/news` | 最新快讯(分页浏览) | | `/summary` | 手动触发总结 | | `/sources` | 订阅源开关管理 | | `/keywords` | 关键词添加/删除 | | `/settings` | 推送阈值/频率设置 | --- ## 评分规则 | 分数 | 含义 | 处理 | |------|------|------| | ≥ 8 | 重磅/突发 | 🔥 即时推送 | | 6–7 | 值得关注 | 🟡 汇总推送 | | < 6 | 普通资讯 | ❌ 不推送 | 评分依据:关键词权重 + 来源重要性标记 + 规则引擎(无需外部 AI API)。 --- ## 数据文件说明 - `data/settings.json` — 用户配置(关键词、源开关、阈值) - `data/news.json` — 新闻历史(最近 2000 条) - `data/pushed.json` — 已推送 ID 集合(防重复,最近 5000 条)