Skip to content

Commit

Permalink
some fix
Browse files Browse the repository at this point in the history
  • Loading branch information
cnlimiter committed Jun 27, 2022
1 parent 309ef30 commit 9c80df7
Show file tree
Hide file tree
Showing 19 changed files with 287 additions and 5,593 deletions.
18 changes: 8 additions & 10 deletions src/main/java/cn/evolvefield/mods/botapi/api/data/BindData.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package cn.evolvefield.mods.botapi.api.data;

import cn.evolvefield.mods.botapi.BotApi;
import cn.evolvefield.mods.botapi.util.JsonUtil;
import cn.evolvefield.mods.botapi.util.JsonsUtil;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
Expand Down Expand Up @@ -30,23 +30,21 @@ public class BindData {
public static void init() {
dataPath = BotApi.CONFIG_FOLDER.resolve("data.json");
if (dataPath.toFile().isFile()) {
groupData = JsonUtil.getArray(dataPath.toFile(), "groupData");
groupData = JsonsUtil.getArray(dataPath.toFile(), "groupData");
if (!groupData.isJsonNull()) {
for (int i = 0; i < groupData.size(); i++) {
JsonElement sub = groupData.get(i);
if (sub instanceof JsonObject) {
JsonObject subObj = (JsonObject) sub;
if (sub instanceof JsonObject subObj) {
if (subObj.has("QQ") && subObj.has("name"))
groupBindMap.put(subObj.get("QQ").getAsLong(), subObj.get("name").getAsString());
}
}
}
guildData = JsonUtil.getArray(dataPath.toFile(), "guildData");
guildData = JsonsUtil.getArray(dataPath.toFile(), "guildData");
if (!guildData.isJsonNull()) {
for (int i = 0; i < guildData.size(); i++) {
JsonElement sub = guildData.get(i);
if (sub instanceof JsonObject) {
JsonObject subObj = (JsonObject) sub;
if (sub instanceof JsonObject subObj) {
if (subObj.has("tinyId") && subObj.has("name"))
guildBindMap.put(subObj.get("tinyId").getAsString(), subObj.get("name").getAsString());
}
Expand Down Expand Up @@ -78,7 +76,7 @@ private static void saveGroup() {
sub.addProperty("QQ", entry.getKey());
}
groupData.add(sub);
JsonUtil.update(dataPath.toFile(), "groupData", groupData);
JsonsUtil.update(dataPath.toFile(), "groupData", groupData);

}

Expand All @@ -92,7 +90,7 @@ private static void saveGuild() {
}

guildData.add(sub1);
JsonUtil.update(dataPath.toFile(), "guildData", guildData);
JsonsUtil.update(dataPath.toFile(), "guildData", guildData);

}

Expand Down Expand Up @@ -138,7 +136,7 @@ public static boolean delGroupBindData(long qqId) {
}

public static boolean delGuildBindData(String tinyId) {
groupBindMap.remove(tinyId);
guildBindMap.remove(tinyId);
return true;
}

Expand Down
127 changes: 63 additions & 64 deletions src/main/java/cn/evolvefield/mods/botapi/api/message/SendMessage.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,26 @@
import cn.evolvefield.mods.botapi.BotApi;
import cn.evolvefield.mods.botapi.core.bot.BotData;
import cn.evolvefield.mods.botapi.core.service.WebSocketService;
import cn.evolvefield.mods.botapi.util.JsonsObject;
import cn.evolvefield.mods.botapi.util.MsgUtil;
import cn.evolvefield.mods.botapi.util.json.JSONArray;
import cn.evolvefield.mods.botapi.util.json.JSONObject;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;

import java.util.List;


public class SendMessage {

private static final JSONObject errorObject = new JSONObject("{\"retcode\": 1}");

public static void ChannelGroup(String guild_id, String channel_id, String message) {
if (BotApi.config.getCommon().isEnable()) {
JSONObject data = new JSONObject();
JSONObject params = new JSONObject();
JsonObject data = new JsonObject();
JsonObject params = new JsonObject();
if (BotApi.config.getCommon().getFrame().equalsIgnoreCase("cqhttp") && BotApi.config.getCommon().isGuildOn()) {
data.put("action", "send_guild_channel_msg");
params.put("guild_id", guild_id);
params.put("channel_id", channel_id);
params.put("message", message);
data.put("params", params);
data.addProperty("action", "send_guild_channel_msg");
params.addProperty("guild_id", guild_id);
params.addProperty("channel_id", channel_id);
params.addProperty("message", message);
data.add("params", params);
WebSocketService.client.send(data.toString());
if (BotApi.config.getCommon().isDebuggable()) {
BotApi.LOGGER.info("向频道:" + guild_id + "的子频道:" + channel_id + "发送消息" + message);
Expand All @@ -36,14 +35,14 @@ public static void ChannelGroup(String guild_id, String channel_id, String messa

public static void ChannelGroup(String guild_id, String channel_id, List<String> message) {
if (BotApi.config.getCommon().isEnable()) {
JSONObject data = new JSONObject();
JSONObject params = new JSONObject();
JsonObject data = new JsonObject();
JsonObject params = new JsonObject();
if (BotApi.config.getCommon().getFrame().equalsIgnoreCase("cqhttp") && BotApi.config.getCommon().isGuildOn()) {
data.put("action", "send_guild_channel_msg");
params.put("guild_id", guild_id);
params.put("channel_id", channel_id);
params.put("message", MsgUtil.setListMessage(message));
data.put("params", params);
data.addProperty("action", "send_guild_channel_msg");
params.addProperty("guild_id", guild_id);
params.addProperty("channel_id", channel_id);
params.addProperty("message", MsgUtil.setListMessage(message));
data.add("params", params);
WebSocketService.client.send(data.toString());
if (BotApi.config.getCommon().isDebuggable()) {
BotApi.LOGGER.info("向频道:" + guild_id + "的子频道:" + channel_id + "发送消息" + message);
Expand All @@ -55,30 +54,30 @@ public static void ChannelGroup(String guild_id, String channel_id, List<String>

public static void Temp(long user_id, long group_id, String message) {
if (BotApi.config.getCommon().isEnable()) {
JSONObject data = new JSONObject();
JSONObject params = new JSONObject();
JsonObject data = new JsonObject();
JsonObject params = new JsonObject();
if (BotApi.config.getCommon().getFrame().equalsIgnoreCase("cqhttp")) {
data.put("action", "send_private_msg");
params.put("group_id", group_id);
params.put("user_id", user_id);
params.put("message", message);
data.put("params", params);
data.addProperty("action", "send_private_msg");
params.addProperty("group_id", group_id);
params.addProperty("user_id", user_id);
params.addProperty("message", message);
data.add("params", params);
WebSocketService.client.send(data.toString());
if (BotApi.config.getCommon().isDebuggable()) {
BotApi.LOGGER.info("向群:" + group_id + "的用户:" + user_id + "发送临时消息" + message);
}

} else if (BotApi.config.getCommon().getFrame().equalsIgnoreCase("mirai")) {

data.put("sessionKey", BotData.getSessionKey());
data.put("qq", user_id);
data.put("group", group_id);
data.put("messageChain", MsgUtil.getMessage(message));
data.addProperty("sessionKey", BotData.getSessionKey());
data.addProperty("qq", user_id);
data.addProperty("group", group_id);
data.add("messageChain", MsgUtil.getMessage(message));

JSONObject main = new JSONObject();
main.put("syncId", "");
main.put("command", "sendTempMessage");
main.put("content", data);
JsonObject main = new JsonObject();
main.addProperty("syncId", "");
main.addProperty("command", "sendTempMessage");
main.add("content", data);

WebSocketService.client.send(main.toString());
if (BotApi.config.getCommon().isDebuggable()) {
Expand All @@ -93,28 +92,28 @@ public static void Temp(long user_id, long group_id, String message) {

public static void Group(long group_id, String message) {
if (BotApi.config.getCommon().isEnable()) {
JSONObject data = new JSONObject();
JSONObject params = new JSONObject();
JsonObject data = new JsonObject();
JsonObject params = new JsonObject();
if (BotApi.config.getCommon().getFrame().equalsIgnoreCase("cqhttp")) {
data.put("action", "send_group_msg");
params.put("group_id", group_id);
params.put("message", message);
data.put("params", params);
data.addProperty("action", "send_group_msg");
params.addProperty("group_id", group_id);
params.addProperty("message", message);
data.add("params", params);
WebSocketService.client.send(data.toString());
if (BotApi.config.getCommon().isDebuggable()) {
BotApi.LOGGER.info("向群" + group_id + "发送消息" + message);
}

} else if (BotApi.config.getCommon().getFrame().equalsIgnoreCase("mirai")) {

data.put("sessionKey", BotData.getSessionKey());
data.put("target", group_id);
data.put("messageChain", MsgUtil.getMessage(message));
data.addProperty("sessionKey", BotData.getSessionKey());
data.addProperty("target", group_id);
data.add("messageChain", MsgUtil.getMessage(message));

JSONObject main = new JSONObject();
main.put("syncId", "");
main.put("command", "sendGroupMessage");
main.put("content", data);
JsonObject main = new JsonObject();
main.addProperty("syncId", "");
main.addProperty("command", "sendGroupMessage");
main.add("content", data);

WebSocketService.client.send(main.toString());
if (BotApi.config.getCommon().isDebuggable()) {
Expand All @@ -129,29 +128,29 @@ public static void Group(long group_id, String message) {

public static void Group(long group_id, List<String> message) {
if (BotApi.config.getCommon().isEnable()) {
JSONObject data = new JSONObject();
JSONObject params = new JSONObject();
JSONArray array = new JSONArray();
JsonObject data = new JsonObject();
JsonObject params = new JsonObject();
JsonArray array = new JsonArray();
if (BotApi.config.getCommon().getFrame().equalsIgnoreCase("cqhttp")) {
data.put("action", "send_group_msg");
params.put("group_id", group_id);
params.put("message", MsgUtil.setListMessage(message));
data.put("params", params);
data.addProperty("action", "send_group_msg");
params.addProperty("group_id", group_id);
params.addProperty("message", MsgUtil.setListMessage(message));
data.add("params", params);
WebSocketService.client.send(data.toString());
if (BotApi.config.getCommon().isDebuggable()) {
BotApi.LOGGER.info("向群" + group_id + "发送消息" + data);
}

} else if (BotApi.config.getCommon().getFrame().equalsIgnoreCase("mirai")) {

data.put("sessionKey", BotData.getSessionKey());
data.put("target", group_id);
data.put("messageChain", MsgUtil.getMessage(message));
data.addProperty("sessionKey", BotData.getSessionKey());
data.addProperty("target", group_id);
data.add("messageChain", MsgUtil.getMessage(message));

JSONObject main = new JSONObject();
main.put("syncId", "");
main.put("command", "sendGroupMessage");
main.put("content", data);
JsonObject main = new JsonObject();
main.addProperty("syncId", "");
main.addProperty("command", "sendGroupMessage");
main.add("content", data);

WebSocketService.client.send(main.toString());
if (BotApi.config.getCommon().isDebuggable()) {
Expand All @@ -165,18 +164,18 @@ public static void Group(long group_id, List<String> message) {
}

//获取用户名信息
public static String getUsernameFromInfo(JSONObject userInfo) {
public static String getUsernameFromInfo(JsonsObject userInfo) {
if (userInfo == null) {
return "";
}

if (userInfo.getNumber("retcode").intValue() != 0) {
if (userInfo.optNumber("retcode").intValue() != 0) {
return "";
}

String username = userInfo.getJSONObject("data").getString("card");
String username = userInfo.optJSONObject("data").get("card").getAsString();
if (username.equals("")) {
username = userInfo.getJSONObject("data").getString("nickname");
username = userInfo.optJSONObject("data").get("nickname").getAsString();
}

return username;
Expand Down
28 changes: 14 additions & 14 deletions src/main/java/cn/evolvefield/mods/botapi/core/bot/CQHttpBot.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import cn.evolvefield.mods.botapi.api.events.*;
import cn.evolvefield.mods.botapi.init.callbacks.BotEvents;
import cn.evolvefield.mods.botapi.util.json.JSONObject;
import cn.evolvefield.mods.botapi.util.JsonsObject;

/**
* Description:
Expand Down Expand Up @@ -53,20 +53,20 @@ public class CQHttpBot {
private long temp_source;//临时消息来源
private String font;//字体

public CQHttpBot(String jsonStr, JSONObject json) {
public CQHttpBot(String jsonStr, JsonsObject json) {

this.Json = jsonStr;//消息原本json文本

if (Json.contains("post_type")) {
if (json.getString("post_type").equalsIgnoreCase("meta_event")) {
if (json.optString("post_type").equalsIgnoreCase("meta_event")) {
return;
}
post_type = json.getString("post_type");
post_type = json.optString("post_type");
} else {
post_type = null;
}
if (Json.contains("message_type")) {
message_type = json.getString("message_type");
message_type = json.optString("message_type");
} else {
message_type = null;
}
Expand All @@ -77,8 +77,8 @@ public CQHttpBot(String jsonStr, JSONObject json) {
this.self_id = json.optLong("self_id");//机器人qq
this.raw_message = json.optString("raw_message");//收到消息
this.group_id = json.optLong("group_id");//消息群号
this.nickname = json.optJSONObject("sender").optString("nickname");//发送人昵称
this.role = json.optJSONObject("sender").optString("role");//发送人角色
this.nickname = new JsonsObject(json.optJSONObject("sender")).optString("nickname");//发送人昵称
this.role = new JsonsObject(json.optJSONObject("sender")).optString("role");//发送人角色
this.user_id = json.optLong("user_id");//发送人qq
this.sub_type = json.optString("sub_type");//事件子类型

Expand All @@ -91,11 +91,11 @@ public CQHttpBot(String jsonStr, JSONObject json) {
if (message_type.equalsIgnoreCase("private")) {
this.self_id = json.optLong("self_id");//机器人qq
this.raw_message = json.optString("raw_message");//收到消息
this.nickname = json.optJSONObject("sender").optString("nickname");//发送人昵称
this.nickname = new JsonsObject(json.optJSONObject("sender")).optString("nickname");//发送人昵称
this.user_id = json.optLong("user_id");//发送人qq
this.sub_type = json.optString("sub_type");//事件子类型

this.temp_source = json.optJSONObject("sender").optLong("group_id");//临时消息来源
this.temp_source = new JsonsObject(json.optJSONObject("sender")).optLong("group_id");//临时消息来源


PrivateMessageEvent event = new PrivateMessageEvent(Json, self_id, raw_message, nickname, user_id, sub_type, temp_source);
Expand All @@ -107,8 +107,8 @@ public CQHttpBot(String jsonStr, JSONObject json) {
this.sub_type = json.optString("sub_type");//事件子类型
this.guild_id = json.optString("guild_id");
this.channel_id = json.optString("channel_id");
this.tiny_id = json.optJSONObject("sender").optString("tiny_id");
this.nickname = json.optJSONObject("sender").optString("nickname");//发送人昵称
this.tiny_id = new JsonsObject(json.optJSONObject("sender")).optString("tiny_id");
this.nickname = new JsonsObject(json.optJSONObject("sender")).optString("nickname");//发送人昵称
this.self_tiny_id = json.optString("self_tiny_id");

this.raw_message = json.optString("message");//收到消息
Expand All @@ -123,7 +123,7 @@ public CQHttpBot(String jsonStr, JSONObject json) {
if (post_type != null) {
//通知事件
if (post_type.equalsIgnoreCase("notice")) {
this.notice_type = json.getString("notice_type");//通知类型
this.notice_type = json.optString("notice_type");//通知类型

this.self_id = json.optLong("self_id");//机器人qq
this.notice_type = json.optString("notice_type");//通知类型
Expand All @@ -132,8 +132,8 @@ public CQHttpBot(String jsonStr, JSONObject json) {
this.user_id = json.optLong("user_id");//发送人qq、撤回消息qq、事件触发qq
this.operator_id = json.optLong("operator_id");//操作者QQ
this.duration = json.optString("duration");//被禁言时长
this.file_name = json.optJSONObject("file").optString("name");//上传文件名字
this.file_size = json.optJSONObject("file").optLong("size");//上传文件大小
this.file_name = new JsonsObject(json.optJSONObject("file")).optString("name");//上传文件名字
this.file_size = new JsonsObject(json.optJSONObject("file")).optLong("size");//上传文件大小
this.target_id = json.optString("target_id");


Expand Down
Loading

0 comments on commit 9c80df7

Please sign in to comment.