Java实现MSN机器人

尽管对IM软件并没有什么特殊的喜好,但为了方便日常交流,MSN每天都要用到。其实MSN的通讯协议公开已久,基于协议的拓展开发有不少,在Linux下广泛使用的Gaim就支持MSN的通讯协议。如果考虑根据开放的协议,开发一个自己的MSN机器人,相信会是一件很有意思的事情。

只是有了接口规范还不能直接用于开发,热心的开源爱好者基于规范提供了各种编程语言的MSN开发库,极大方便了基于MSN库的拓展开发。前不久OpenFans.net的朋友提供了一套基于Java-JML库的代码,仔细研究一番,真正体验到了代码实现MSN机器人的乐趣。

代码本身并不复杂,功能主要是调用JML的库函数来实现对于MSN机器人的控制,包括MSN的登陆、得到在线好友列表、添加好友、得到好友的消息、查询后台数据库内容、返回给好友数据库查询结果等等,还可以实现好友上线自动问候等功能。

Java MSN Library使用了国人开发的开放源代码项目Cindy来处理基于Internet的通讯。在Eclipse环境下导入工程,配置好MSN机器人专用的帐号和登陆密码,运行程序就可以自动连接到MSN服务器登陆。

目前这套MSN机器人的代码正在不断完善中,感兴趣的朋友可以加上我根据代码修改的机器人:lreiscn@hotmail.com试一试,不过因为时间限制,这个程序很少运行调试。等功能成熟后,MSN机器人原作者Frank或许会把代码放在OpenFans.net的代码库当中,供爱好者使用研究。

留下评论