LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1929|回复: 4

LumaQQ 聊天机器人群聊功能

[复制链接]
发表于 2005-6-4 22:31:14 | 显示全部楼层 |阅读模式
原来的机器人只支持两个人的聊天,不支持群聊,所以最近做了一下修正,增加了机器人的群聊功能,在临时群下测试通过。(其他群应该也差不多)
修改的java和class文件见附件,将附件里面的class替换原jar文件里面的class即可。不过,推荐自己修改QQClient这个类,因为我的这个可能不是最新的。(我相信很多人都应该会改,实在不会,diff一下我的这个和原版本即可。)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2005-6-5 08:49:01 | 显示全部楼层
大家测试一下???
有没有弟兄用过?
谢谢,兄弟辛苦了。
回复 支持 反对

使用道具 举报

发表于 2005-6-5 17:01:51 | 显示全部楼层
什么叫机器人群聊?
都从来没有用过呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-6 14:41:53 | 显示全部楼层
所谓机器人就是lumaqq里面有个接口
edu.tsinghua.lumaqq.qq.robot.IRobot
凡是实现了这个接口的类都能被lumaqq调用(加入到lumaqq的classpath,并且打开机器人的配置)
原来这个只支持两人之间聊天,不支持群聊,通过修改QQClient这个类即可以让机器人支持群聊。

修改方法(其实Luma最清楚)
在QQClient.java里面的 public void qqEvent(QQEvent e)  这个方法里面

case QQEvent.QQ_RECEIVE_CLUSTER_IM:               
case QQEvent.QQ_RECEIVE_TEMP_CLUSTER_IM:
case QQEvent.QQ_RECEIVE_UNKNOWN_CLUSTER_IM:
拎出来,类似于
case QQEvent.QQ_RECEIVE_NORMAL_IM:
        processNormalIM(e);
也做一个processClusterIM(e)的处理即可。
processClusterIM(QQEvent e)这个方法也模仿processNormalIM(QQEvent e)类似也写就差不多了。

以上是给不懂机器人的lumaqqer看的,:-)
以下是给Luma看的,呵呵。

因为我的代码没法和最新的lumaqq版本同步,所以非常希望luma能把这个功能整合进去。
另,在doRobot()方法里面,原来的代码是
if(reply != null)        sendIM(receiver, reply);
不知道luma基于哪方面的考虑,这里没有把机器人发出的消息设置为autoReply的,这样会导致两个机器人之间不停的互相发消息,luma是否能给机器增加一个(机器所发出的消息是否是autoReply的消息)配置项?
回复 支持 反对

使用道具 举报

发表于 2005-6-6 17:53:14 | 显示全部楼层
申请过很多cvs
cosoft的,一开始可以,后来越来越慢,现在直接连不上
linuxforum的,奇慢,相当于连不上
gro的,到现在还是连不上,不知道bbskill连上了没有
sourceforge,出国不方便,所以没申请
最好还是linuxsir搞一个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表