注解开发风格的QQ机器人框架,类似Spring MVC的开发体验
目前最新稳定版文档 -> 0.1.0
使用以下的链接创建新的Spring Boot项目
本项目基于JDK11构建,请不要使用JDK11以下的JDK版本
Spring Boot版本不建议低于2.6
maven
<dependency>
<groupId>io.github.jiusiz</groupId>
<artifactId>cocoa-spring-boot-starter</artifactId>
<version>0.2.0-SNAPSHOT</version>
</dependency>gradle
implementation("io.github.jiusiz:cocoa-spring-boot-starter:0.2.0-SNAPSHOT")在生成的application.yml配置文件中添加如下配置
cocoa:
qq:
- account: 机器人的QQ号
password: 机器人的明文密码新建一个controller包,并在下面创建HelloController.java
编写以下内容
@EventController(机器人的QQ号)
public class HelloController {
@FriendMessageMapping
public void hello(FriendMessageEvent event) {
System.out.println("Hello cocoa!");
System.out.println(event.getMessage().contentToString());
}
}运行Spring Boot的main方法,在登录提示登录成功之后,使用添加有机器人好友的账号向它发送信息
发送之后就会看到控制台打印出
Hello cocoa!
你好
🎉 恭喜你,已经成创建了一个QQ机器人
- 监听指定事件
@EventController(机器人的QQ号)
public class HelloController {
// 发送人QQ号 发送人昵称 正则表达式
@FriendMessageMapping(sender = 123456789, senderName = "张三", content = "^你好.*")
public void f(FriendMessageEvent event) {
// 其他代码
}
// 群号 发送人权限 ...... 剩余的和 @FriendMessageMapping 一致
@GroupMessageMapping(group = 987654321, permission = MemberPermission.ADMINISTRATOR)
public void g(){
// 其他代码
}
}上面的例子中f方法只会监听来自123456789且发送人昵称为张三且消息以你好开始的好友消息事件。
上面的例子中g方法只会监听来自群987654321且发送人的权限为管理员的群消息事件。
- 联系人装配
@EventController(机器人的QQ号)
public class HelloController {
// 好友QQ号
@FriendWired(123456789)
private Friend friend;
// 群号
@GroupWired(987654321)
private Group group;
@Scheduled(cron = "0 0/1 * * * ? ") // 需要在Spring Boot主类加上`@EnableScheduling`
public void hello() {
friend.sendMessage("你好 " + LocalDateTime.now());
group.sendMessage("你好 " + LocalDateTime.now());
}
}上面的例子中,cocoa会在bot登录完成后,获取注解上标注的好友或群,注入到属性中。
配合Spring Boot的定时任务,简单快捷即可实现定时发送信息。
本项目仅作为学习使用,请勿用作非法途径