本项目为QQ机器人的快速开发框架,基于此框架,可以快速开发出你的定制化机器人!
项目基于 JDK 21 开发,核心依赖为:
你可以直接运行 qqbot-example 模块,或者依赖 qqbot-core 模块开发
首先,在项目根目录执行
./mvnw clean package然后进入qqbot-example目录,编辑 qqbot.properties 文件,这里包含了所有配置项。
最后,执行
java -jar ./target/qqbot-example.jar --config=./qqbot.properties你也可以将其编译为Docker镜像,项目中已经包含了
Dockerfile与docker-compose.yml文件
可以参考
qqbot-ai模块,这个模块包含了下述的全部内容
你需要依赖 qqbot-core 模块
<dependency>
<groupId>cc.rapidev</groupId>
<artifactId>qqbot-core</artifactId>
<scope>provided</scope>
</dependency>实现 cc.rapidev.qqbot.message.MessageHandler 接口,编写你的消息处理器,如:
public class MyMessageHandler implements MessageHandler {
@Override
public void handle(MessageContext context) {
System.out.println("Hello World");
}
}实现 cc.rapidev.qqbot.message.MessageHandlerInjector 接口,注入你的消息处理器,如:
public class MyMessageHandlerInjector implements MessageHandlerInjector {
@Override
public void inject(MessageDispatcher dispatcher) {
MyMessageHandler handler = new MyMessageHandler();
Events.messageCreateEvents.forEach(event -> dispatcher.register(event, handler));
}
}在 resources/META-INF/qqbot.injectors 文件中声明这个注入器
...
org.example.MyMessageHandlerInjector
至此,就是全部开发流程,机器人在启动是会根据声明去加载注入器,注入消息处理器,当机器人收到消息时,消息处理器将会被触发
如果你有好的建议,请复刻(fork)本仓库并且创建一个拉取请求(pull request)。你也可以简单地创建一个议题(issue),不要忘记给项目点一个 star!谢谢!