Skip to content

Commit 91a80d1

Browse files
committed
1.5.1-R3
feat: refactor code for better performance and fix bugs fix #30 fix #31
1 parent b89a613 commit 91a80d1

File tree

10 files changed

+30
-61
lines changed

10 files changed

+30
-61
lines changed

README.md

+2-9
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Maven
1818
<dependency>
1919
<groupId>io.github.kloping</groupId>
2020
<artifactId>bot-qqpd-java</artifactId>
21-
<version>1.5.1-L3</version>
21+
<version>1.5.1-R3</version>
2222
</dependency>
2323
```
2424

@@ -45,12 +45,7 @@ Maven
4545
```java
4646
starter.registerListenerHost(new ListenerHost(){
4747
@EventReceiver
48-
public void onEvent(MessageChannelReceiveEvent event){
49-
event.send("测试");
50-
}
51-
52-
@EventReceiver
53-
public void onEvent(MessageDirectReceiveEvent event){
48+
public void onEvent(MessageEvent event){
5449
event.send("测试通过");
5550
}
5651
});
@@ -85,5 +80,3 @@ import io.github.kloping.qqbot.impl.ListenerHost;
8580
```
8681

8782
更多使用方式参考查看 [test](./src/test/java)
88-
89-
SDK尚在完善中...

docs/event.md

-15
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,6 @@
1111
[详细实现](readme.md#事件注册)
1212

1313
- [MessageEvent](../src/main/java/io/github/kloping/qqbot/api/message/MessageEvent.java) 消息事件顶级接口
14-
- [MessageDeleteEvent](../src/main/java/io/github/kloping/qqbot/api/message/MessageDeleteEvent.java) 消息撤回事件
15-
- [MessageContainsAtEvent](../src/main/java/io/github/kloping/qqbot/api/message/MessageContainsAtEvent.java)
16-
子频道存在AT消息事件
17-
- [MessageChannelReceiveEvent](../src/main/java/io/github/kloping/qqbot/api/message/MessageChannelReceiveEvent.java)
18-
子频道消息接收事件
19-
- [MessageDirectReceiveEvent](../src/main/java/io/github/kloping/qqbot/api/message/MessageDirectReceiveEvent.java)
20-
私信消息接收事件
21-
- [MessageReactionEvent](../src/main/java/io/github/kloping/qqbot/api/message/MessageReactionEvent.java) 消息被 添加/移除
22-
表情 事件
23-
- [GuildEvent](../src/main/java/io/github/kloping/qqbot/api/event/GuildEvent.java) 频道事件
24-
- [GuildUpdateEvent](../src/main/java/io/github/kloping/qqbot/api/event/GuildUpdateEvent.java) 频道信息 更新事件
25-
- [ChannelEvent](../src/main/java/io/github/kloping/qqbot/api/event/ChannelEvent.java) 子频道事件
26-
- [MemberUpdateEvent](../src/main/java/io/github/kloping/qqbot/api/event/MemberUpdateEvent.java) 成员信息 更新事件
27-
- BaseMemberRemoveEvent
28-
- BaseMemberUpdateEvent
2914

3015
> 对框架未处理的事件 在 1.5.0-Alpha5 中添加的[事件注册的方法](../src/test/java/EventsRegisterTest.java)
3116

docs/message.md

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
- MessageChain
2525
- MessagePre
2626
- PlainText
27+
- Markdown
28+
- Keyboard
2729
- 消息发送者 Sender
2830
- BaseMessageChannelReceiveEvent
2931
- BaseMessageContainsAtEvent

docs/readme.md

+13-17
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
## QQ频道机器人 Java SDK 非官方 文档
2-
_**待完善..**_
1+
## QQ官方机器人 JavaSDK 开发文档
2+
33
<hr>
44

55
### 包目录说明:
@@ -16,12 +16,12 @@ _**待完善..**_
1616

1717
<hr>
1818

19-
### 相关指引
19+
#### 相关部分文档指引
2020

2121
- **[事件 event](event.md)**
2222
- **[消息 message](message.md)**
23-
- **[动作 action](action.md)**
2423
- **[网络相关设置](network.md)**
24+
- **[V2群](v2.md)**
2525

2626
<hr>
2727

@@ -32,7 +32,7 @@ _**待完善..**_
3232
#### 启动方式
3333

3434
```java
35-
// 启动类新建
35+
// 启动类新建 一般启动方法 不可接收发送 群聊消息 见v2文档
3636
Starter starter = new Starter("appid", "token");
3737
// 私域推荐Intents.PRIVATE_INTENTS 公域机器人推荐 Intents.PUBLIC_INTENTS
3838
starter.getConfig().setCode(Intents.PRIVATE_INTENTS.getCode());
@@ -45,13 +45,9 @@ starter.run();
4545

4646
```java
4747
starter.registerListenerHost(new ListenerHost(){
48-
@Override
49-
public void handleException(Throwable e){
50-
}
51-
5248
//必须要有该注解 否则将不注册
5349
@EventReceiver
54-
public void onEvent(MessageChannelReceiveEvent event){
50+
public void onEvent(MessageEvent event){
5551
event.send("Hello World!");
5652
}
5753
});
@@ -74,12 +70,6 @@ public class LogDemo {
7470
```
7571
<hr>
7672

77-
### 依赖排斥
78-
79-
- v1.5.0-Beta7 在与com.alibaba.fastjson2:fastjson2
80-
同时引用时会产生大量空指针[#20](https://github.com/Kloping/qqpd-bot-java/issues/20)
81-
82-
<hr>
8373

8474
### 自定义消息发送
8575
> 通过http请求达到想要的目的获取bot请求必要的请求头方式
@@ -99,8 +89,14 @@ starter.APPLICATION.INSTANCE.getContextManager().getContextEntity(Start0.class).
9989
@EventReceiver
10090
public void onEvent(ConnectedEvent event) {
10191
V2MsgData data = new V2MsgData().setContent("测试主动消息");
102-
starter.getBot().groupBaseV2.send("8468B15808B8200A56E6DD92EBA51AAC", data.toString(), SEND_MESSAGE_HEADERS);
92+
starter.getBot().groupBaseV2.send("groupOpenId", data.toString(), SEND_MESSAGE_HEADERS);
10393
}
10494
});
10595
![img.png](./imgs/img.png)
10696

97+
### 依赖排斥
98+
99+
- v1.5.0-Beta7 在与com.alibaba.fastjson2:fastjson2
100+
同时引用时会产生大量空指针[#20](https://github.com/Kloping/qqpd-bot-java/issues/20)
101+
102+
<hr>

docs/v2.md

-4
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@ v2 使用条件(必须) 当前(23.11.16)
66
- 必须有 **_[在QQ群配置](https://q.qq.com/qqbot/#/developer/sandbox)_** 的权限
77
- 配置完成后,群主可从沙箱群“设置-群机器人”打开机器人列表页添加测试机器人
88

9-
其他事项
10-
11-
- 当前版本(1.5.0-R3) 仅支持了群聊at消息的监听与被动发送(文本,图片)
12-
139
<hr>
1410

1511
> 以下为 必要启动代码

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>io.github.kloping</groupId>
88
<artifactId>bot-qqpd-java</artifactId>
9-
<version>1.5.1-L3</version>
9+
<version>1.5.1-R3</version>
1010

1111
<packaging>jar</packaging>
1212
<name>bot-qqpd-java</name>

src/main/java/io/github/kloping/qqbot/entities/ex/Markdown.java

+6-10
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.github.kloping.qqbot.entities.ex;
22

33
import com.alibaba.fastjson.JSON;
4-
import com.alibaba.fastjson.annotation.JSONField;
54
import io.github.kloping.qqbot.api.SendAble;
65
import io.github.kloping.qqbot.api.SenderAndCidMidGetter;
6+
import io.github.kloping.qqbot.api.SenderV2;
77
import io.github.kloping.qqbot.entities.ex.enums.EnvType;
88
import io.github.kloping.qqbot.entities.qqpd.message.RawPreMessage;
99
import io.github.kloping.qqbot.http.data.Result;
@@ -77,17 +77,13 @@ public Result<V2Result> send(SenderAndCidMidGetter er) {
7777
}
7878

7979
public Result<V2Result> send(SenderAndCidMidGetter er, Integer msgSeq) {
80-
if (er.getEnvType() == EnvType.GROUP) {
81-
V2MsgData v2MsgData = new V2MsgData();
82-
v2MsgData.setMarkdown(this);
83-
v2MsgData.setMsg_type(2);
84-
v2MsgData.setMsg_id(er.getMid());
80+
if (er.getEnvType().isV2()) {
81+
V2MsgData v2MsgData = new V2MsgData().setMarkdown(this).setMsg_type(2).setMsg_id(er.getMid());
8582
if (keyboard != null) v2MsgData.setKeyboard(getKeyboard());
86-
return new Result(er.getBot().groupBaseV2.send(er.getCid(), JSON.toJSONString(v2MsgData), SEND_MESSAGE_HEADERS));
83+
SenderV2 senderV2 = (SenderV2) er;
84+
return new Result(senderV2.getV2().send(er.getCid(), JSON.toJSONString(v2MsgData), SEND_MESSAGE_HEADERS));
8785
} else if (er.getEnvType() == EnvType.GUILD) {
88-
RawPreMessage preMessage = new RawPreMessage();
89-
preMessage.setMarkdown(this);
90-
preMessage.setMsgId(er.getMid());
86+
RawPreMessage preMessage = new RawPreMessage().setMarkdown(this).setMsgId(er.getMid());
9187
return new Result(er.getBot().messageBase.send(er.getCid(), preMessage, SEND_MESSAGE_HEADERS));
9288
}
9389
return er.send(this);

src/main/java/io/github/kloping/qqbot/entities/ex/enums/EnvType.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,9 @@
66
* @author github.kloping
77
*/
88
public enum EnvType {
9-
GUILD, GROUP, GROUP_USER, USER
9+
GUILD, GROUP, GROUP_USER, USER;
10+
11+
public boolean isV2() {
12+
return this == GROUP_USER || this == USER || this == GROUP;
13+
}
1014
}

src/main/java/io/github/kloping/qqbot/impl/BaseConnectedEvent.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public String getClassName() {
4141

4242
@Override
4343
public String toString() {
44-
return String.format("Bot(%s) Connected! By author kloping of bot-qqpd-java for version 1.5.1-L3", bot.getConfig().getAppid());
44+
return String.format("Bot(%s) Connected! By author kloping of bot-qqpd-java for version 1.5.1-R3", bot.getConfig().getAppid());
4545
}
4646

4747
@Override

src/main/java/io/github/kloping/qqbot/utils/BaseUtils.java

-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ public static void packet2pre(MessagePacket packet, RawPreMessage msg) {
3838
if (Judge.isNotEmpty(packet.getImage())) {
3939
msg.setImage(packet.getImage());
4040
}
41-
if (Judge.isNotEmpty(packet.getImage())) {
42-
msg.setImage(packet.getImage());
43-
}
4441
if (Judge.isNotEmpty(packet.getReplyId())) {
4542
msg.setMessageReference(new MessageReference(packet.getReplyId()));
4643
}

0 commit comments

Comments
 (0)