gtalk/msn机器人与erlang?
从 twitter 开始,最近开始的一个流行新趋势是“大家都上机器人”。说到底,其实也就用一个 msn/gtalk 机器人,是把应用和用户连起来。大致了解了一下,巧得很,这件事,似乎又是 erlang 的强项。
这个 msn/gtalk 机器人怎么做的呢?说其来其实蛮简单的。其本质,也就是一个 xmpp 的客户端。一如 gaim 之类。所不同的,仅仅在于—— gaim 这边是一个活生生的人,而这个 client 的这边,则是一个程序。so。你知道啥叫机器人了吧。
我们都知道 xmpp 是一个开放的基于 xml 的 im 协议。知名的 gtalk 就基于此(实力可见一斑)。而又为什么说这件事和 erlang 也有点关系呢?这是因为,知名的 xmpp server 中有个叫做 ejabberd 的(这里和这里),号称是“性能最好以及最具扩展性”的 xmpp 服务器。它恰好就是用 erlang 来实现的。
如果我要做个简单的 gtalk 机器人,莫非要架一个 ejabberd server 么?非也,你可以直接用 Jabberlang 这样的 xmpp client lib 。
更近一步,如果要做 gtalk/msn 机器人(同时支持 gtalk/msn 酷吧),比较好的做法可能还是架设一个 ejabberd ,然后配上 msn 协议支持,再然后,用 jabberlang 通过 xmpp 连上去。同一个功能,同一个程序,hoho。
大大存在投机的可能哟。


Comments
对了,忘了说了,Arbow贴的 http://www.slideshare.net/Arbow/messaging-with-erlang-and-jabber 很不错,简明易懂。
记得刚工作那年,Gtalk推出,啄木鸟社区的zoomquite用Python改了一个实现群聊的bot,那时候我也写了个搜歌的。
现在其实也可以用Erlang写一个练练手,看看那边的代码量会更加简单:D
limodou的那个confbot我也用过一段时间,bug还是比较多呵呵
jabberlang现在才0.2,功能很简单,暂不支持ssl连接啊
[...] gtalk/msn机器人与erlang? XMPP介绍 XMPP初解 [...]
Write a Comment