上篇文章给自己写了一个开发计划,这两天已经开始动手了,结果刚开头就非常不顺,来写篇文章吐槽一下。
从原版的描述和一些代码中,我发现原作者使用了 Twitter4j 这个看起来在 Java 平台非常强大的库来进行 Twitter Stream 的获取。而在 NPM 上不难找到类似的 Twitter 库,也不难使用,填好两组 Key & Secret 之后简单的调用 API 就可以输出源源不断的 Tweets 来。
Twitter 官方提供的 Stream API 中自带了对自定义关键词的 Filter, 那么我们就来调用它。然后就碰到了目前为止第一个也是最主要最棘手的问题。
最主要的问题
问题就是:Twitter Stream Track 的关键词设置不支持 CJK 字符,而 GBF 的玩家则大部分使用日语,他们的救援推的关键词都是"参加者募集!"
。
于是我在 Twitter Deck 中新建了一栏,使用"参加者募集!" OR "I need backup!"
的搜索条件进行搜索并观察官方用的是什么办法支持 CJK 字符的。结果大失所望,官方的搜索也只是用 Search API 而不是 Stream API, 然后定时获取一次假装出 Stream 的感觉来“糊弄”用户。那么我想,目前找到的库对于 CJK 都没有支持的情况下应该作者是用了一些手段来支持 CJK 字符的。
那么也只有继续读源码了。
经过大概一小时的思考,我决定暂时先将实现平台放到 .NET 上,目前 .NET Core 在跨平台上面已经比较稳定了,用 C# 写也更顺手一些。先拿这套把实现思路和一些算法给摸清楚,以后再重新用 Node.js 来实现。