在给 @YuanShen 的半自动化 bot 进行重写。之前一直用 Telegraf.js 开发,但是它是基于 Bot API 的,为了避免一些可能的限制(如不能上传大文件),我打算换到 MTProto API 来写。然后留意到了一个没什么名气的项目 TgSnake ,是基于 GramJS 二次开发的,但是同时缝合了 Telegraf 的一些东西(比如 shorthand method 之类),写起来省了很多学习成本。遂选择了 TgSnake 开工。
写着写着就发现有点不对劲了。先是 callback query 的回应方法如
answerCalbackQuery 缺失,跑到开发群里搜了一下找到了办法,竟然是通过中间件来手动补上这块残缺。结果等写完了一半多的时候就遇到了致命的问题。和文本相关的方法,entities 发出来之后是虚无,然后 sendVideo 方法发出来的 caption 也是虚无。不清楚 TgSnake 的开发者是精力有限还是怎么回事,当然 beta 确实会存在不稳定,这次是我大意了。还是先乖乖回 Telegraf 待着吧,想想倒也有办法规避掉逾越 Bot API 的操作。这次事情很搞心态,搞得心情也不好。谨慎选择上游!尽量选择成熟的、知名的上游,知名度可由仓库 Star 数、dependents、频道订阅者数、交流群人数和活跃度等因素综合考量。
@atabots