- 高效: 仅使用正向Websocket进行通信, 效率更高
- 轻量: 本体大小不到100KB, 加上所有依赖库后大小不到600KB!
- 方便: 仅需几行代码实现OneBot的各种操作,仅需一个注解就能监听
- 全面: 包含几乎所有的OneBot公开API接口与事件
Maven (pom.xml):
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>Gradle (build.gradle):
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}Gradle (build.gradle.kts):
repositories {
mavenCentral()
maven("https://jitpack.io")
}Maven (pom.xml):
<dependencies>
<dependency>
<groupId>com.github.alazeprt</groupId>
<artifactId>AOneBot</artifactId>
<version>1.0.2-beta</version>
</dependency>
</dependencies>Gradle (build.gradle):
dependencies {
implementation 'com.github.alazeprt:AOneBot:1.0.2-beta'
}Gradle (build.gradle.kts):
dependencies {
implementation("com.github.alazeprt:AOneBot:1.0.2-beta")
}首先要创建一个OneBot客户端实例:
BotClient client = new BotClient("localhost", 3001);其中第一个参数为主机名(IP地址/域名),第二个参数为开放端口
你也可以只传入一个URI参数(例如 ws://localhost:3001 )代表你的服务端地址
接着要连接到一个WebSocket服务端(连接操作不是异步进行):
client.connect();连接完毕后,你就可以通过 action() 方法来执行操作了:
client.action(new SendGroupMessage(123456, "Hello World!")); // 向id为123456的群发送Hello World!
client.action(new GetGroupList(), (groupList) -> { // 获取当前登录账号的所有群组的列表
for (Group group : groupList) { // 遍历群组列表
System.out.println(group.getGroupName()); // 输出群名
}
});如果你想监听事件,则先需要定义一个方法,设置参数为你要监听的事件的类,并为该方法添加 @SubscribeBotEvent 注解,最后注册该监听器,以下是一段完整的示例代码:
public class MyListener {
@SubscribeBotEvent
public void onGroupMessage(GroupMessageEvent event) { // 监听群组消息事件
System.out.println(event.getSenderNickName() + ": " + event.getMessage()); // 输出消息内容
}
public static void main(String[] args) {
BotClient client = new BotClient("localhost", 3001);
client.connect();
client.registerEvent(new MyListener());
}
}如果你需要断开连接,可直接调用 BotClient 类的 disconnect() 方法
- 支持更多OneBot的API接口与事件
- 添加更多通信方式
本项目遵循LGPL-3.0协议发行,最终解释权归alazeprt所有