|
LumaQQ没有提供功能十足的机器人给你用,所以,实现一个机器人需要靠你自己,LumaQQ只为你提供了一个简单的框架,本文就是向你介绍如何在LumaQQ中插入自己的机器人的。
第一步:实现自己的机器人
缺省情况下,LumaQQ提供了一个机器人,但是这个机器人基本上什么也没做,而且,缺省也是没有打开的。这个机器人的代码在edu.tsinghua.lumaqq.qq.robot.DummyRobot.java中,它纯粹是一个演示目的,如果你想看看效果,可以在LumaQQ的xml目录下面找到一个robots.xml文件,这个文件是机器人的配置文件,你可以看到里面我写了一些注释,你把那些注释去掉,保存,然后重启LumaQQ就可以了。使用机器人的方法是打开系统菜单,如果系统配置了至少一个机器人的话,系统菜单中会有一项“聊天机器人”,它的子菜单里面列出了所有存在的机器人,另外包含一个开始/停止菜单,我就不多说了,想来你应该会用。
为了实现一个聊天机器人,你必须实现edu.tsinghua.lumaqq.qq.robot.IRobot接口,这个接口目前相当简单,只包含了一个方法,如下: public interface IRobot {
/**
* 根据message得到一条回复消息
*
* @param sender
* 消息发送者QQ号
* @param message
* 到达的消息
* @param autoReply
* true表示这条消息是对方的自动回复
* @return
* 回复的消息,返回null表示不响应这条消息
*/
public String getReply(int sender, String message, boolean autoReply);
}
而DummyRobot的实现则是: public class DummyRobot implements IRobot {
/* (non-Javadoc)
* @see edu.tsinghua.lumaqq.qq.robot.IRobot#getReply(int, java.lang.String, boolean)
*/
public String getReply(int sender, String message, boolean autoReply) {
if(!autoReply)
return "Hello, I am robot, how about you?";
else
return null;
}
}
所以你也看到了,DummyRobot基本上啥也没干,就是老返回一句相同的话而已,不过它会判断一下是不是自动回复,如果是就不处理了,免得碰到自动回复的时候没完没了。由于这个接口实在太简单了,就不多废话了
第二步:部署机器人程序
添加一个机器人并不需要修改LumaQQ的源代码,你只要将你的机器人程序打包成jar文件,然后copy到LumaQQ的lib目录下就可以了,这样的好处自然就是你可以随便添加机器人,而且并不一定需要有LumaQQ的源代码,当然,你在编写你的机器人程序的时候,需要导入lumaqq.jar到工程中,不然找不到IRobot接口定义了。
第三步:修改机器人配置文件
机器人配置文件位于LumaQQ的xml目录下,这个文件自然是新增的,如果不存在这个文件的话,那么LumaQQ就会认为是没有机器人可用,系统菜单中也就不会有机器人的菜单项了。这个文件的格式也很简单,假设我要配置DummyRobot,那么就是下面这个样子: <?xml version="1.0" encoding="UTF-8"?>
<Robots>
<Robot>
<Name>Dummy Robot</Name>
<Implementation>edu.tsinghua.lumaqq.qq.robot.DummyRobot</Implementation>
</Robot>
</Robots>
See? 仅仅就是配置一个机器人的名字,另外配置一下IRobot的实现类即可。如果你有多个机器人,你可以随便添加Robot元素
总结
添加一个机器人的工作就结束了,喜欢玩就玩吧。 (出处:清风网络学院)
上一篇:硬盘故障离奇发生:升级需注意兼容问题
下一篇:百度封站真相 6000元解开屏蔽
|