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