前情提要:迫于总是错过优惠信息,创建了一个 v2ex 优惠信息 新帖推送
频道
这个频道我将会维护着(主要是程序跑在个人 VPS 上,不占用多少系统资源)。欢迎订阅关注。https://t.me/v2ex_deals
优化了一下这个项目,升级了功能。现在可以部署成 推送自己关注的节点新帖到自己的 telegram bot 上。
例如 A 同学感兴趣的节点有 骑行
、优惠信息
、汽车
、宽带症候群
、上海
、硬件
、生活
、DNS
、奇思妙想
、美酒与美食
、分享创造
、分享发现
,这些节点。
token=123456789:abcdEFGhijkLMN
chatId=1234567
cron=0 */10 * * * ?
nodeList=bike, deals, car, bb, shanghai, hardware, life, dns, ideas, taste, create, share
申请一个 telegram bot, 获取 token 和 chatId (具体请搜索)
编写好配置文件,然后执行以下 shell
java -jar /path/to/app.jar --configPath=./config.txt >> ./application.log 2>&1 &
具体、详细部署方式,请见 GitHub
截图中用了问与答和 Apple 节点(因为这两个节点帖子是真多啊 :) )
最后,厚脸皮🉐️️求个 star ⭐️️
更正:申请一个 telegram bot -> 创建一个 telegram bot
## tips:
1. --configPath=
右边的值既可以是相对路径也可以是绝对路径,支持在 Windows 下的路径
2. 只有 4 个 key-value pair
3. 可以根据关注的节点热度和数量调整请求频率,请自行调整 cron 表达式,减轻 v2ex 服务器负担 :)。比如 问与答
Apple
iPhone
都是热门节点
4. 配置文件支持以 # 开头的注释
5. 由于你懂🉐️️的原因,V 站被墙,建议运行在非大陆的服务器上
6. 由于获取的是 V 站首页 全部
tab 下的帖子信息,故而不可能出现在此 tab 下的帖子就不可能被推送,比如 二手交易
、水深火热
更正:申请一个 telegram bot -> 创建一个 telegram bot
--configPath=
右边的值既可以是相对路径也可以是绝对路径,支持在 Windows 下的路径问与答
Apple
iPhone
都是热门节点全部
tab 下的帖子信息,故而不可能出现在此 tab 下的帖子就不可能被推送,比如 二手交易
、水深火热
很抱歉,之前对于带有空格的 nodeList 做 trim 处理有 bug,忽视了节点与节点之间的空格。现已 提交 修复。欢迎重新部署(使用最新版的 jar,在项目根目录,或者自己编译)。
由于 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 much nodes 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
项目还有不完善的地方,如果你有兴趣,欢迎 fork 提交 mr/pr 提交你的贡献,一起来完善这个有趣的项目吧。
1
xingso 2021-09-16 17:44:41 +08:00 1
听起来不错,一会来试试,感谢楼主
|
2
Dvel 2021-09-16 18:35:27 +08:00 1
|
4
Tink 2021-09-16 18:39:05 +08:00 via Android 1
可以可以
|
5
lc1450 2021-09-16 18:42:16 +08:00
你们 tg 一直挂着? 我都是晚上睡觉时候看一看, 还没逛 v2 的时间长
|
7
thet 2021-09-16 21:42:32 +08:00
订阅节点 rss 不就可以了
|
9
jiyan5 2021-09-18 14:06:21 +08:00 via Android
楼主开的有机场吗?你头像好像一个 tg 机场群主的头像
|