在正常使用环境中进行了调试,修复了几个Listener中出现的错误并完善了相关功能

This commit is contained in:
slhaf
2024-10-04 22:35:25 +08:00
parent e26aa30f3d
commit d6b74ae353
13 changed files with 120 additions and 63 deletions

View File

@@ -17,6 +17,9 @@ import java.util.HashMap;
import java.util.List;
/**
* @author SLHAF
*/
public final class App extends JavaPlugin {
public static final App INSTANCE = new App();
@@ -47,16 +50,15 @@ public final class App extends JavaPlugin {
}
getLogger().info("ChatAI-InGroup-v2 loaded!");
//群聊监听器
GlobalEventChannel.INSTANCE.filterIsInstance(GroupMessageEvent.class)
.filter(event -> {
String msg = event.getMessage().contentToString();
long groupId = event.getGroup().getId();
return ((msg.startsWith(".") && msg.length() != 1) || msg.startsWith("@" + bot) || customCommands.containsKey(msg.split(" ")[0])) && !blacklist.contains(groupId);
return ((msg.startsWith(".") && msg.length() != 1) || msg.startsWith("@" + bot) || customCommands.containsKey(msg.split(" ")[0] + ChatConstant.BLANK)) && !blacklist.contains(groupId);
}).registerListenerHost(new GroupMessageListener());
//所有者监听
//所有者监听--群聊
GlobalEventChannel.INSTANCE.filterIsInstance(GroupMessageEvent.class)
.filter(event -> {
String msg = event.getMessage().contentToString();
@@ -66,9 +68,21 @@ public final class App extends JavaPlugin {
//私聊监听器
GlobalEventChannel.INSTANCE.filterIsInstance(FriendMessageEvent.class)
.filter(event -> true)
.filter(event -> {
String msg = event.getMessage().contentToString();
String sender = String.valueOf(event.getFriend().getId());
return !(msg.startsWith(ChatConstant.SET)&&sender.equals(owner));
})
.registerListenerHost(new FriendMessageListener());
//所有者监听--私聊
GlobalEventChannel.INSTANCE.filterIsInstance(FriendMessageEvent.class)
.filter(event -> {
String msg = event.getMessage().contentToString();
String sender = String.valueOf(event.getFriend().getId());
return msg.startsWith(ChatConstant.SET) && sender.equals(owner);
}).registerListenerHost(new OwnerMessageListener());
}
@Override