1 啥是IM

IM是Instant Messaging的缩写,翻译过来叫做“即时通信”,往往也用来表示可以进行即时通信的软件,说人话就是聊天软件,QQ微信总听得懂吧?

2 折腾啥

聊天软件这东西有个很特殊的地方,就是不是你想用啥就用啥,而是要看别人用啥你用啥。自己的事情自己做不了主,你说烦不烦。

QQ和微信在国内的个人IM市场已经实现了事实上的垄断,要想脱离小马哥的手掌真的是太难了。用了多年的QQ还算顺手,发个消息传个文件啥的都不在话下。微信就懒得吐槽了,一个聊天软件不好好搞聊天功能,反而塞进去一堆乱七八糟的东西,还敢大言不惭说着“克制”,把该做的事情全克制了。

另外由于某些众所周知的原因,QQ微信之流对于用户所发送的消息是有严密的“保护”的,虽然产品之神张小龙说了微信不保存用户的聊天记录,但是,呵呵,我信你个鬼。

So, 要不自己搞一个玩玩?

3 开搞

且慢!等下,刚不是说了么,别人用啥你用啥,自己搞一个你跟谁玩去?

嗯,似乎很有道理的样子……

但生命就在于折腾不是吗?!别人不玩我跟我媳妇儿玩啊,实在不行自己玩!搞个AI聊天机器人瞎扯淡不也是很有意思的吗?

说到AI聊天机器人,想起来一个很6的实现。我本来想说出来的,转念一想,不如我把它搞过来你们自己玩。嗯,一会搞一下把链接丢到文章最后面。

扯远了。

4 真 · 开搞

作为一名专业的Ctrl+C Ctrl+V选手,“不要重复造轮子”这句话一定要牢记心间。哪里去找现成的轮子呢?自然是GitHub这个全球最大的同性交友平台了。

首先想到的是之前在论坛上见到过的国产轮子:野火IM(野火的公关记得打钱)。翻了翻开源项目,看了看文档,字里行间满满的铜臭。当然不是说收费不对,程序员也要恰饭的嘛,只不过残缺的社区版实在难以恭维。放弃。

第二个目标是Rocket.Chat。看到它的第一眼,有种“嗯,就是它了”的赶脚。Try Now!打开文档,拉取镜像,修改配置,配置域名,申请证书,下载应用,一气呵成,启动!果然是我想要的亚子,玩起来!

你以为故事到这里就结束了吗?图样图森破,naive了不是。经历了与Rocket.Chat的七分钟之痒后,这货慢慢地从一个小萝莉变成了一个糙汉子。消息延迟,显示错误,各种各样的小bug一个个冒了出来。我是来玩妹子,啊不是,来玩IM,不是report issue的啊!放弃。

下一位选手叫做Element。这货最初叫Vector,后来改了个名字叫Riot,现在叫Element。不得不吐槽一下这个团队的起名能力,就不能起个个性一点的名字吗,这么General的词你让我怎么Google。这货打着免费的旗号,但事实上经过我许久的研究,我发现这货是用它的服务免费,要想自己托管的话还是要收费的。免费的我用你干啥,QQ它不香吗?

只剩下最后一位选手了。之所以把它排在最后,单纯是不喜欢它的名字:Mattermost。关于这位选手,我们下一章继续。

IM折腾之旅,才刚刚拉开序幕……

呃,发布了才想起来刚才说的AI聊天机器人还没搞呢,来吧