Featured image of post 「新周刊」的 Telegram 订阅频道

「新周刊」的 Telegram 订阅频道

为了更优雅地看杂志,我写了个「新周刊」的 Telegram 机器人。

频道地址:https://t.me/neweekly 欢迎订阅

高中时期的语文老师特别喜欢看这本杂志。好几次去她办公室她都会把看过的杂志送给我们,有时候一给就是一袋子。纸质版的图很多,很有奢侈地挥霍空间的感觉,咋一看跟那种很水的娱乐杂志没什么区别。但其实里面的很多文章都挺有深度的,包括手机 APP 里的也是,所以后来就喜欢上了。只不过 APP 本身做的巨烂,网页版又阉割地几乎就没有内容。因为经常用 Telegram,于是就想把这个搞成一个频道,和InstantView结合起来,这样就可以直接在 TG 上看,完全不用开其他应用。

本来是想用RSSHub配上现成的 rss to instantview 机器人,结果 rsshub 根本就没有新周刊。果然还是太小众了吗。那么就只能自己动手了。

具体过程就不细说了,我是用 Burp 在手机上抓 APP 的包找到接口,然后用 PHP 调用、获取文章内容,然后转换并发送到 Telegraph 上,再调用机器人接口把 Telegraph 的链接发送到一个特定的频道里。遇到几个坑:

  1. Telegraph 的 Node 格式简直反人类,我调了好久。用现成的 Markdown 不好么,非要自己搞一套。

  2. 新周刊的文章内容 HTML 格式也是反人类。加粗不用 b 或者 strong 标签,非要用 css 的 font-weight;标题也是不用现成的 h1 h2 之类的,用的是 font-size + font-weight 加粗实现;还有各种 span 互相嵌套。非常的无语。

  3. Telegraph 发表内容如果短时间(比如一分钟)内发太多会触发 FLOOD_WAIT,要求等待几千秒,这都几个小时了好吗。这时候重新建一个账号(获取一个新的 access_token)就好了。

  4. 有时候发在 Telegram 的 Telegraph 链接不会立即显示“即使预览”按钮,可能是因为 TG 服务器后台在处理数据,等一会儿就好了。当然也可能有一直都不出现的,暂时不清楚什么原因。

差不多就是这样子。花了一个晚上 + 一个上午的时间搞定了。如果你也想看看这本杂志到底在扯什么,欢迎在 TG 上订阅@neweekly

Licensed under CC BY-NC-SA 4.0