RaidFinder 开发记——1

上篇文章给自己写了一个开发计划,这两天已经开始动手了,结果刚开头就非常不顺,来写篇文章吐槽一下。

从原版的描述和一些代码中,我发现原作者使用了 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 来实现。