惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
T
Tailwind CSS Blog
Microsoft Azure Blog
Microsoft Azure Blog
The Cloudflare Blog
博客园 - 叶小钗
N
Netflix TechBlog - Medium
罗磊的独立博客
量子位
MyScale Blog
MyScale Blog
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
V
Visual Studio Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
B
Blog
腾讯CDC
爱范儿
爱范儿
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
F
Fortinet All Blogs
雷峰网
雷峰网
G
Google Developers Blog
Google DeepMind News
Google DeepMind News

Allen Hua 的网络博客

由于 Linux 桌面没有一个好用的天气程序就写了一个跨平台的CheckitoutWeather 给 caesium-image-compressor 图片压缩程序构建了 Linux AppImage v2.8.5 最新版 debian13(debian trixie)安装了nvidia闭源驱动后从x11切换到wayland的方法 山间摩旅追风,偶遇一场绚烂晚霞 最近使用debian系统的一些心得 机械革命无界14Pro笔记本debian forky成功驱动内置扬声器和麦克风 记录 typecho 1.2.0 升级到 1.3.0 过程 开发了一款openwrt插件:文本剪贴板 解决机械革命笔记本内屏高刷240Hz闪屏问题 使用 Java 写了一个局域网端口扫描器 - Allen Hua 的网络博客 openwrt使用外置根extroot机制扩展根分区大小 - Allen Hua 的网络博客 将机场ss节点批量转换成ss字符串链接批量添加到passwall - Allen Hua 的网络博客 给机械革命钛钽plus换屏:NY2换成NZ2 - Allen Hua 的网络博客 记录一次pve宿主机和上面的debian虚机无故down机事件 - Allen Hua 的网络博客 给图床部署cdn腾讯云的edgeone并排查Cache-Control max-age 3600的问题 - Allen Hua 的网络博客 从高山草甸到徽派古村:武功山反穿与皖浙赣自驾行记 - Allen Hua 的网络博客 增程器就是充电宝?别被忽悠了 - Allen Hua 的网络博客 浦口龙虎巷扫街,记录人间真实 博客图片压缩方案更新|AVIF|WebP|MozJPEG|标准JPEG Windows 电脑使用 Obs Studio 录制各个网站视频/桌面画面教程 为typecho博客添加latex支持 新能源汽车之纯电车使用交流慢充和直流快充的充电损耗对比 2025年3月更新全国5A景区名录 2025最新查看小米/红米手机电池健康度和循环次数方法 完美解决 seafile FILE_SERVER_ROOT 配置导致的内网外网不能同时访问和上传下载的问题 纯css实现typecho博客文章文字spoiler剧透效果 我对Typecho Facile主题的一些修改,图片懒加载优化,样式定制 2024年8月我的宜昌 - 重庆 - 川西小环线自驾旅行分享 2022年打卡南京市区人防工程纳凉点 2024年带着A7C2+腾龙28-200 再次来到红山森林动物园
写了一个小项目:推送 v2ex 优惠信息节点的新帖到 telegram c...
Allen Hua · 2021-09-15 · via Allen Hua 的网络博客
阅读量:2675

warning: 这篇文章距离上次修改已过1711天,其中的内容可能已经有所变动。

GitHub Link

v2ex_deals

v2ex 优惠信息 节点新帖推送。频道名称:v2ex 优惠信息 新帖推送,link: https://t.me/v2ex_deals

迫于总是错过 v2ex 上 优惠信息 节点的信息,创建了一个 v2ex 优惠信息 新帖推送 的 telegram channel. 欢迎关注/订阅频道。

preview:


更新

上述优惠信息节点新帖推送的频道不会受到影响。个人会维护下去,也占用不了多少系统资源(运行在个人 VPS 上)。

本程序已经更新成可以部署为个人关注的节点新帖推送的后端程序。前端只需要

  1. 创建一个 telegram bot
  2. 获取 bot 的 token
  3. 获取 bot 的 chatId

如何创建 telegram bot 请自行搜索(是很简单的)。

重要更新 at 2021-09-18 16:04:56

由于 telegram bot API sendMessage 方法请求限制:每次最大 4096 个字符,所以如果用户发的帖子正文内容特别多的话,就很容易超过这个限制。超过限制发送请求会导致 response code 400, bad request, 所以会再次推送一个不带 content 字段的版本给 bot.

而我又希望推送 content 字段,因为这个字段帮助你直接预览帖子正文,在 telegram 上直接判断是否有必要打开帖子。如果你频繁收到 Pushing failed 的提示,可以考虑更改 cron 表达式,改成更短的时间请求一次,比如原来每 30 分钟请求一次,现在改成每 10 分钟请求一次。

目前第一次推送失败后推送的文案如下

Pushing failed. It maybe caused by too many topics matched or too much content in some topic/post, which exceeds the telegram API request limit.

See API document: https://core.telegram.org/bots/api

Now push the version without content field.

preview:

请使用最新 jar 包重新部署,文件名:app-2021-09-18.jar

配置文件说明

配置文件的名字是可以随便命名的,比如 config.txt

# 创建的 telegram bot 的 token,长得像这样,`数字:字母`
token=123456789:abcdEFGhijkLMN

# bot 的 chatId
chatId=1234567

# cron 表达式,Java(String) 类型或者 Java(Quartz) 类型 参考网站 https://tool.lu/crontab/
# 建议每 10 分钟或 20 分钟、或 30 分钟 请求一次 ,假如是 20 分钟,这么写:cron=0 */20 * * * ?
# 下面这是每一分钟请求一次 API,有新帖则推送,无则不推送
cron=0 */1 * * * ?

# 关注的节点列表,节点 code 可以通过 `https://www.v2ex.com/api/nodes/s2.json` 获取。
# 用英文逗号/半角逗号分隔,已作 trim 处理,逗号后可添加空格(更容易看清楚)
nodeList=qna, deals, bike, apple

运行方式

java -jar /path/to/app.jar --configPath=./config.txt >> ./application.log 2>&1 &

tips:

  1. --configPath= 右边的值既可以是相对路径也可以是绝对路径,支持在 Windows 下的路径
  2. 只有 4 个 key-value pair
  3. 可以根据关注的节点热度和数量调整请求频率,请自行调整 cron 表达式,减轻 v2ex 服务器负担 :)。比如 问与答 Apple iPhone 都是热门节点
  4. 配置文件支持以 # 开头的注释
  5. 由于你懂?️️的原因,V 站被墙,建议运行在非大陆的服务器上
  6. 由于获取的是 V 站首页 全部 tab 下的帖子信息,故而不可能出现在此 tab 下的帖子就不可能被推送,比如 二手交易水深火热

默认情况下,每个 IP 每小时可以发起的 API 请求数被限制在 120 次。

V2EX API 接口

Preview


end.