From 1f9d4122b8cbb8ba5f875ef273b4a12541c83dfc Mon Sep 17 00:00:00 2001 From: sansan <77180927+sansan0@users.noreply.github.com> Date: Thu, 19 Jun 2025 21:13:51 +0800 Subject: [PATCH] Update readme.md --- readme.md | 231 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 154 insertions(+), 77 deletions(-) diff --git a/readme.md b/readme.md index 90be4ff..37cbc95 100644 --- a/readme.md +++ b/readme.md @@ -4,16 +4,20 @@ **多平台热点资讯监控分析系统** +> **🚀 一键部署,最快一分钟配置完毕!** + [![GitHub Stars](https://img.shields.io/github/stars/sansan0/TrendRadar?style=flat-square&logo=github&color=yellow)](https://github.com/sansan0/TrendRadar/stargazers) [![GitHub Forks](https://img.shields.io/github/forks/sansan0/TrendRadar?style=flat-square&logo=github&color=blue)](https://github.com/sansan0/TrendRadar/network/members) -[![GitHub Issues](https://img.shields.io/github/issues/sansan0/TrendRadar?style=flat-square&logo=github&color=red)](https://github.com/sansan0/TrendRadar/issues) [![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg?style=flat-square)](LICENSE) [![Python](https://img.shields.io/badge/python-3.7%2B-3776AB?style=flat-square&logo=python&logoColor=ffdd54)](https://www.python.org/) -[![Version](https://img.shields.io/badge/version-v1.1.0-green.svg?style=flat-square)](https://github.com/sansan0/TrendRadar) -[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg?style=flat-square)](https://github.com/sansan0/TrendRadar) +[![Version](https://img.shields.io/badge/version-v1.2.0-green.svg?style=flat-square)](https://github.com/sansan0/TrendRadar) +[![企业微信通知](https://img.shields.io/badge/企业微信-通知支持-00D4AA?style=flat-square)](https://work.weixin.qq.com/) +[![Telegram通知](https://img.shields.io/badge/Telegram-通知支持-00D4AA?style=flat-square)](https://telegram.org/) +[![dingtalk通知](https://img.shields.io/badge/钉钉-通知支持-00D4AA?style=flat-square)](#) [![飞书通知](https://img.shields.io/badge/飞书-通知支持-00D4AA?style=flat-square)](https://www.feishu.cn/) [![GitHub Actions](https://img.shields.io/badge/GitHub_Actions-自动化-2088FF?style=flat-square&logo=github-actions&logoColor=white)](https://github.com/sansan0/TrendRadar) +[![GitHub Pages](https://img.shields.io/badge/GitHub_Pages-部署-4285F4?style=flat-square&logo=github&logoColor=white)](https://sansan0.github.io/TrendRadar) @@ -29,28 +33,32 @@ - **智能内容筛选** - 支持自定义频率词,过滤词和必须词的配置,精准定位关注话题,有效过滤无关信息噪音 -- **多渠道实时推送** - 通过**飞书机器人** 推送重要资讯或者**GitHub Pages** 自带的设置页面,一键跳转新闻详情。如果 star 的人多的话,后续会加入**企业微信**,**钉钉**,**telegram**等推送渠道 +- **多渠道实时推送** - 通过**飞书机器人** 推送重要资讯或者**GitHub Pages** 自带的设置页面,一键跳转新闻详情。目前支持**企业微信**(10 秒配置完毕,设置速度最快,小白都会),**飞书**(消息显示最友好),**钉钉**,**telegram**推送渠道 - **开箱即用部署** - 一键 Fork 即可部署,简化部署流程和技术门槛 -> GitHub Pages 自带的设置页面对大多数人更方便, 配置一下,保存一个网页链接即可,放手机浏览器里也随时可看, 比如我这里[https://sansan0.github.io/TrendRadar/](https://sansan0.github.io/TrendRadar/) +> GitHub Pages 自带的设置页面也方便, 配置一下,保存一个网页链接即可,比如我这里[TrendRadar 网页版](https://sansan0.github.io/TrendRadar/) ## 更新日志 -> 飞书机器人创建完得点发布得点发布得点发布~除了 issues 里,还有几位跑公众号问的最后也排查出是这个问题,我以为我的步骤已经很详细了/(ㄒ o ㄒ)/~~如果你还遇到什么问题,往下翻到常见问题( •̀ ω •́ )✧ +> **不定期更新**,已 **fork** 的同学只需要复制本项目 **main.py** 的所有代码到你的 github 直接覆盖即可(github 在线编辑) -### 2025/06/18 +### 2025/06/19 - v1.2.0 + +感谢 claude research 整理的各平台 api ,让我快速完成各平台适配(虽然代码更多冗余了~ + +1. 支持 telegram ,企业微信,钉钉推送渠道, 支持多渠道配置和同时推送 + +### 2025/06/18 - v1.1.0 **200 star⭐** 了, 继续给大伙儿助兴~近期,在我的"怂恿"下,挺多人在我公众号点赞分享推荐助力了我,我都在后台看见了具体账号的鼓励数据,很多都成了天使轮老粉(我玩公众号才一个多月,虽然注册是七八年前的事了哈哈,属于上车早,发车晚),但因为你们没有留言或私信我,所以我也无法一一回应并感谢支持,在此一并谢谢! -1. 1.1.0 版 -2. 重要的更新,加了权重,你现在看到的新闻都是最热点最有关注度的出现在最上面 -3. 更新文档使用,因为近期更新了很多功能,而且之前的使用文档我偷懒写的简单(见下面的 ⚙️ 频率词配置完整教程) +1. 重要的更新,加了权重,你现在看到的新闻都是最热点最有关注度的出现在最上面 +2. 更新文档使用,因为近期更新了很多功能,而且之前的使用文档我偷懒写的简单(见下面的 ⚙️ 频率词配置完整教程) -### 2025/06/16 +### 2025/06/16 - v1.0.0 -1. 正式版本 1.0.0 发布 -2. 增加了一个项目新版本更新提示,默认打开,如要关掉,可以在 main.py 中把 "FEISHU_SHOW_VERSION_UPDATE": True 中的 True 改成 False 即可 +1. 增加了一个项目新版本更新提示,默认打开,如要关掉,可以在 main.py 中把 "FEISHU_SHOW_VERSION_UPDATE": True 中的 True 改成 False 即可 ### 2025/06/13+14 @@ -66,24 +74,16 @@ **100 star⭐** 了,写个小功能给大伙儿助助兴 frequency_words.txt 文件增加了一个【必须词】功能,使用 + 号 -1. 默认的频率词语法如下: - 唐僧或者猪八戒在标题中出现一个就可以被记录到推送 - -``` -唐僧 -猪八戒 -``` - -2. 必须词语法如下: - 唐僧或者猪八戒必须在标题里同时出现 +1. 必须词语法如下: + 唐僧或者猪八戒必须在标题里同时出现,才会收录到推送新闻中 ``` +唐僧 +猪八戒 ``` -3. 过滤词的优先级更高: - 如果标题中匹配到唐僧念经,那么即使必须词里有唐僧,也不显示 +2. 过滤词的优先级更高: + 如果标题中过滤词匹配到唐僧念经,那么即使必须词里有唐僧,也不显示 ``` +唐僧 @@ -112,8 +112,6 @@ frequency_words.txt 文件增加了一个【必须词】功能,使用 + 号 -**不定期更新**,已 **fork** 的同学只需要复制本项目 **main.py** 的所有代码到你的 github 直接覆盖即可(github 在线编辑) - ## 🔍 支持的平台 目前已支持以下 11 个热门平台: @@ -136,13 +134,33 @@ frequency_words.txt 文件增加了一个【必须词】功能,使用 + 号 - 点击本页面右上角的"Fork"按钮 -2. **设置 GitHub Secrets**: +2. **设置 GitHub Secrets(选择你需要的平台)**: - - 在你 Fork 后的仓库中,进入`Settings` > `Secrets and variables` > `Actions` - - 点击"New repository secret" - - 名称填写`FEISHU_WEBHOOK_URL` - - 值填写你的飞书机器人 Webhook 地址(webhook 获取,请直接跳转到下方的 "🤖 飞书机器人设置") - - 点击"Add secret"保存 + 在你 Fork 后的仓库中,进入 `Settings` > `Secrets and variables` > `Actions`,然后根据需要配置以下任一或多个通知平台: + + ### 🟡 企业微信机器人(配置最简单最迅速) + + - 名称:`WEWORK_WEBHOOK_URL` + - 值:你的企业微信机器人 Webhook 地址 + + ### 🟢 飞书机器人(消息显示最友好) + + - 名称:`FEISHU_WEBHOOK_URL` + - 值:你的飞书机器人 Webhook 地址 + + ### 🔵 钉钉机器人 + + - 名称:`DINGTALK_WEBHOOK_URL` + - 值:你的钉钉机器人 Webhook 地址 + + ### 🟣 Telegram Bot (配置最复杂) + + - 名称:`TELEGRAM_BOT_TOKEN` + - 值:你的 Telegram Bot Token + - 名称:`TELEGRAM_CHAT_ID` + - 值:你的 Telegram Chat ID + + **注意:** 可以同时配置多个平台,系统会向所有配置的平台发送通知。具体设置方法请参考下方对应的机器人设置教程。 3. **自定义关键词**: @@ -157,7 +175,105 @@ frequency_words.txt 文件增加了一个【必须词】功能,使用 + 号 - 运行结果将自动保存在仓库的`output`目录中 - 同时通过飞书机器人发送通知到你的群组 -## ⚙️ 频率词配置完整教程(三种语法) +## 🤖 多平台机器人设置 + +### 🟡 企业微信机器人设置 + +#### 手机端设置: + +1. 打开企业微信 App → 进入目标内部群聊 +2. 点击右上角"…"按钮 → 选择"群机器人" +3. 点击"添加" → 点击"新建" → 设置机器人昵称 +4. 点击"添加" → 复制 Webhook 地址 + +#### PC 端也是类似设置流程 + +**配置到 GitHub**:将获得的 Webhook URL 配置到 GitHub Secrets 中的 `WEWORK_WEBHOOK_URL` + +### 🟢 飞书机器人设置 + +1. 电脑浏览器打开 https://botbuilder.feishu.cn/home/my-app + +2. 点击"新建机器人应用" + +3. 进入创建的应用后,点击"流程涉及" > "创建流程" > "选择触发器" + +4. 往下滑动,点击"Webhook 触发" + +5. 此时你会看到"Webhook 地址",把这个链接先复制到本地记事本暂存,继续接下来的操作 + +6. "参数"里面放上下面的内容,然后点击"完成" + +```json +{ + "message_type": "text", + "content": { + "total_titles": "{{内容}}", + "timestamp": "{{内容}}", + "report_type": "{{内容}}", + "text": "{{内容}}" + } +} +``` + +7. 点击"选择操作" > "发送飞书消息" ,勾选 "群消息", 然后点击下面的输入框,点击"我管理的群组"(如果没有群组,你可以在飞书 app 上创建群组) + +8. 消息标题填写"TrendRadar 热点监控" + +9. 最关键的部分来了,点击 + 按钮,选择"Webhook 触发",然后按照下面的图片摆放 + +![飞书机器人配置示例](_image/image.png) + +10. 配置完成后,将第 5 步复制的 Webhook 地址配置到 GitHub Secrets 中的 `FEISHU_WEBHOOK_URL` + +### 🔵 钉钉机器人设置 + +1. **创建机器人(仅 PC 端支持)**: + + - 打开钉钉 PC 客户端,进入目标群聊 + - 点击群设置图标(⚙️)→ 往下翻找到"机器人"点开 + - 选择"添加机器人" → "自定义" + +2. **配置机器人**: + + - 设置机器人名称 + - **安全设置**: + - **自定义关键词**:设置 "热点" + +3. **完成设置**: + - 勾选服务条款协议 → 点击"完成" + - 复制获得的 Webhook URL + - 将 URL 配置到 GitHub Secrets 中的 `DINGTALK_WEBHOOK_URL` + +**注意**:移动端只能接收消息,无法创建新机器人。 + +### 🟣 Telegram Bot 设置 + +1. **创建机器人**: + + - 在 Telegram 中搜索 `@BotFather`(大小写注意,有蓝色徽章勾勾,有类似 37849827 monthly users ,这个才是官方的,有一些仿官方的账号注意辨别) + - 发送 `/newbot` 命令创建新机器人 + - 设置机器人名称(必须以"bot"结尾,很容易遇到重复名字,所以你要绞劲脑汁想不同的名字) + - 获取 Bot Token(格式如:`123456789:AAHfiqksKZ8WmR2zSjiQ7_v4TMAKdiHm9T0`) + +2. **获取 Chat ID**: + + **方法一:通过官方 API 获取** + + - 先向你的机器人发送一条消息 + - 访问:`https://api.telegram.org/bot<你的Bot Token>/getUpdates` + - 在返回的 JSON 中找到 `"chat":{"id":数字}` 中的数字 + + **方法二:使用第三方工具** + + - 搜索 `@userinfobot` 并发送 `/start` + - 获取你的用户 ID 作为 Chat ID + +3. **配置到 GitHub**: + - `TELEGRAM_BOT_TOKEN`:填入第 1 步获得的 Bot Token + - `TELEGRAM_CHAT_ID`:填入第 2 步获得的 Chat ID + +## ⚙️ frequency_words.txt 完整配置教程(三种语法) 在`frequency_words.txt`文件中配置监控的频率词,过滤词和必须词 @@ -308,7 +424,7 @@ iPhone 1. **创建配置文件**:新建 `frequency_words.txt` 文件 2. **填写词组**:每个词组用空行分隔 -3. **测试效果**:运行程序查看 HTML 报告 +3. **测试效果**:手动运行 GitHub Actions 查看推送效果 4. **调整优化**:根据结果增减词汇或调整过滤 ## 📊 权重排序说明 @@ -323,7 +439,7 @@ iPhone ## 📊 输出示例 -### 飞书通知示例: +### 通知示例: ``` 📊 热点词汇统计 @@ -336,7 +452,7 @@ iPhone ``` -### 飞书消息格式说明 +### 消息格式说明 | 格式元素 | 示例 | 含义 | 说明 | | ------------- | --------------------------- | ------------ | --------------------------------------- | @@ -349,45 +465,6 @@ iPhone | [时间 ~ 时间] | [12 时 30 分 ~ 14 时 00 分] | 时间范围 | 标题出现的时间范围(首次~最后) | | (N 次) | (4 次) | 出现次数 | 标题在监控期间出现的总次数 | -## 🤖 飞书机器人设置 - -1. 电脑浏览器打开 https://botbuilder.feishu.cn/home/my-app - -2. 点击"新建机器人应用" - -3. 进入创建的应用后,点击"流程涉及" > "创建流程" > "选择触发器" - -4. 往下滑动,点击"Webhook 触发" - -5. 此时你会看到"Webhook 地址",把这个链接先复制到本地记事本暂存,继续接下来的操作 - -6. "参数"里面放上下面的内容,然后点击"完成" - -```json -{ - "message_type": "text", - "content": { - "total_titles": "{{内容}}", - "timestamp": "{{内容}}", - "report_type": "{{内容}}", - "text": "{{内容}}" - } -} -``` - -7. 点击"选择操作" > "发送飞书消息" ,勾选 "群消息", 然后点击下面的输入框,点击"我管理的群组"(如果没有群组,你可以在飞书 app 上创建群组) - -8. 消息标题填写"TrendRadar 热点监控" - -9. 最关键的部分来了,点击 + 按钮,选择"Webhook 触发",然后按照下面的图片摆放 - -![飞书机器人配置示例](_image/image.png) - -10. 到这里就配置完了,你可以等待手机接收消息(等几十分钟),也可以在 Actions 页面手动触发一次 workflow(等待几十秒就行,不懂的可以问 ai) - -11. 另外,output 目录下,有每天的 **当日统计.html** - 比如:https://github.com/sansan0/TrendRadar/tree/master/output/2025年05月05日/html ,你可以看到每天汇总的要点新闻,同时在根目录也会生成 `index.html` 方便直接访问 - ## 🔧 高级用法 ### 自定义监控平台 @@ -452,7 +529,7 @@ ids = [ ## 📄 许可证 -MIT License +GPL-3.0 License ---