mirror of
https://github.com/LamGC/ContentGrabbingJi.git
synced 2025-04-30 06:37:36 +00:00
[Add] 通过增加参数信息来为命令方法提供来源群和来源QQ;
This commit is contained in:
parent
5f796f7da0
commit
16522155e1
@ -105,28 +105,31 @@ public class BotAdminCommandProcess {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Command
|
@Command
|
||||||
public static String addPushGroup(@Argument(name = "group") long groupId,
|
public static String addPushGroup(
|
||||||
@Argument(name = "minTime", force = false, defaultValue = "21600000") long minTime,
|
@Argument(name = "$fromGroup") long fromGroup,
|
||||||
@Argument(name = "floatTime", force = false, defaultValue = "10800000") int floatTime,
|
@Argument(name = "group", force = false, defaultValue = "0") long groupId,
|
||||||
@Argument(name = "rankingStart", force = false, defaultValue = "1") int rankingStart,
|
@Argument(name = "minTime", force = false, defaultValue = "21600000") long minTime,
|
||||||
@Argument(name = "rankingStop", force = false, defaultValue = "150") int rankingStop,
|
@Argument(name = "floatTime", force = false, defaultValue = "10800000") int floatTime,
|
||||||
@Argument(name = "original", force = false, defaultValue = "false") boolean original
|
@Argument(name = "rankingStart", force = false, defaultValue = "1") int rankingStart,
|
||||||
|
@Argument(name = "rankingStop", force = false, defaultValue = "150") int rankingStop,
|
||||||
|
@Argument(name = "original", force = false, defaultValue = "false") boolean original
|
||||||
) {
|
) {
|
||||||
|
long group = groupId <= 0 ? fromGroup : groupId;
|
||||||
JsonObject setting = new JsonObject();
|
JsonObject setting = new JsonObject();
|
||||||
setting.addProperty("time.min", minTime);
|
setting.addProperty("time.min", minTime);
|
||||||
setting.addProperty("time.float", floatTime);
|
setting.addProperty("time.float", floatTime);
|
||||||
setting.addProperty("ranking.start", rankingStart);
|
setting.addProperty("ranking.start", rankingStart);
|
||||||
setting.addProperty("ranking.end", rankingStop);
|
setting.addProperty("ranking.end", rankingStop);
|
||||||
setting.addProperty("pageQuality.original", original);
|
setting.addProperty("pageQuality.original", original);
|
||||||
if(pushInfoMap.containsKey(groupId)) {
|
if(pushInfoMap.containsKey(group)) {
|
||||||
log.info("群 {} 已存在Timer, 删除Timer...", groupId);
|
log.info("群 {} 已存在Timer, 删除Timer...", group);
|
||||||
removePushGroup(groupId);
|
removePushGroup(fromGroup, groupId);
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("正在增加Timer...(Setting: {})", setting);
|
log.info("正在增加Timer...(Setting: {})", setting);
|
||||||
pushInfoMap.put(groupId, setting);
|
pushInfoMap.put(group, setting);
|
||||||
addPushTimer(groupId, setting);
|
addPushTimer(group, setting);
|
||||||
return "已在 " + groupId + " 开启定时推送功能。";
|
return "已在 " + group + " 开启定时推送功能。";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -206,10 +209,11 @@ public class BotAdminCommandProcess {
|
|||||||
* @throws NoSuchElementException 当这个群号没有定时器的时候抛出异常
|
* @throws NoSuchElementException 当这个群号没有定时器的时候抛出异常
|
||||||
*/
|
*/
|
||||||
@Command
|
@Command
|
||||||
public static String removePushGroup(@Argument(name = "group") long id) {
|
public static String removePushGroup(@Argument(name = "$fromGroup") long fromGroup, @Argument(name = "group", force = false) long id) {
|
||||||
RandomIntervalSendTimer.getTimerById(id).destroy();
|
long group = id <= 0 ? fromGroup : id;
|
||||||
pushInfoMap.remove(id);
|
RandomIntervalSendTimer.getTimerById(group).destroy();
|
||||||
return "已关闭群 " + id + " 的美图推送功能。";
|
pushInfoMap.remove(group);
|
||||||
|
return "已关闭群 " + group + " 的美图推送功能。";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -229,14 +233,17 @@ public class BotAdminCommandProcess {
|
|||||||
Set<String> keys = BotCommandProcess.reportStore.keys();
|
Set<String> keys = BotCommandProcess.reportStore.keys();
|
||||||
StringBuilder msgBuilder = new StringBuilder();
|
StringBuilder msgBuilder = new StringBuilder();
|
||||||
msgBuilder.append("当前被报告的作品列表:\n");
|
msgBuilder.append("当前被报告的作品列表:\n");
|
||||||
|
int count = 1;
|
||||||
for(String key : keys) {
|
for(String key : keys) {
|
||||||
String illustIdStr = key.substring(key.indexOf(".") + 1);
|
String illustIdStr = key.substring(key.indexOf(".") + 1);
|
||||||
JsonObject report = BotCommandProcess.reportStore.getCache(illustIdStr).getAsJsonObject();
|
JsonObject report = BotCommandProcess.reportStore.getCache(illustIdStr).getAsJsonObject();
|
||||||
log.debug("{} - Report: {}", illustIdStr, report);
|
log.debug("{} - Report: {}", illustIdStr, report);
|
||||||
String reason = report.get("reason").isJsonNull() ? "" : report.get("reason").getAsString();
|
String reason = report.get("reason").isJsonNull() ? "" : report.get("reason").getAsString();
|
||||||
msgBuilder.append(illustIdStr)
|
msgBuilder.append(count).append(". 作品Id: ").append(illustIdStr)
|
||||||
.append("(").append(dateFormat.format(new Date(report.get("reportTime").getAsLong()))).append("):")
|
.append("(").append(dateFormat.format(new Date(report.get("reportTime").getAsLong()))).append("):\n")
|
||||||
.append(reason).append("\n");
|
.append("报告者QQ:").append(report.get("fromQQ").getAsLong()).append("\n")
|
||||||
|
.append("报告所在群:").append(report.get("fromGroup").getAsLong()).append("\n")
|
||||||
|
.append("报告原因:\n").append(reason).append("\n");
|
||||||
}
|
}
|
||||||
return msgBuilder.toString();
|
return msgBuilder.toString();
|
||||||
}
|
}
|
||||||
|
@ -604,11 +604,13 @@ public class BotCommandProcess {
|
|||||||
* @return 返回提示信息
|
* @return 返回提示信息
|
||||||
*/
|
*/
|
||||||
@Command
|
@Command
|
||||||
public static String report(@Argument(name = "id") int illustId, @Argument(name = "msg", force = false) String reason) {
|
public static String report(@Argument(name = "$fromGroup") long fromGroup, @Argument(name = "$fromQQ") long fromQQ, @Argument(name = "id") int illustId, @Argument(name = "msg", force = false) String reason) {
|
||||||
log.warn("收到作品反馈(IllustId: {}, 原因: {})", illustId, reason);
|
log.warn("收到作品反馈(IllustId: {}, 原因: {})", illustId, reason);
|
||||||
JsonObject reportJson = new JsonObject();
|
JsonObject reportJson = new JsonObject();
|
||||||
reportJson.addProperty("illustId", illustId);
|
reportJson.addProperty("illustId", illustId);
|
||||||
reportJson.addProperty("reportTime", new Date().getTime());
|
reportJson.addProperty("reportTime", new Date().getTime());
|
||||||
|
reportJson.addProperty("fromGroup", fromGroup);
|
||||||
|
reportJson.addProperty("fromQQ", fromQQ);
|
||||||
reportJson.addProperty("reason", reason);
|
reportJson.addProperty("reason", reason);
|
||||||
reportStore.update(String.valueOf(illustId), reportJson, 0);
|
reportStore.update(String.valueOf(illustId), reportJson, 0);
|
||||||
return "色图姬收到了你的报告,将屏蔽该作品并对作品违规情况进行核实,感谢你的反馈!";
|
return "色图姬收到了你的报告,将屏蔽该作品并对作品违规情况进行核实,感谢你的反馈!";
|
||||||
|
@ -23,10 +23,7 @@ import redis.clients.jedis.JedisPool;
|
|||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.concurrent.LinkedBlockingQueue;
|
import java.util.concurrent.LinkedBlockingQueue;
|
||||||
import java.util.concurrent.ThreadPoolExecutor;
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@ -141,7 +138,7 @@ public class BotEventHandler implements EventHandler {
|
|||||||
|
|
||||||
Pattern pattern = Pattern.compile("/\\s*(\".+?\"|[^:\\s])+((\\s*:\\s*(\".+?\"|[^\\s])+)|)|(\".+?\"|[^\"\\s])+");
|
Pattern pattern = Pattern.compile("/\\s*(\".+?\"|[^:\\s])+((\\s*:\\s*(\".+?\"|[^\\s])+)|)|(\".+?\"|[^\"\\s])+");
|
||||||
Matcher matcher = pattern.matcher(Strings.nullToEmpty(msg));
|
Matcher matcher = pattern.matcher(Strings.nullToEmpty(msg));
|
||||||
ArrayList<String> argsList = new ArrayList<>();
|
List<String> argsList = new ArrayList<>();
|
||||||
while (matcher.find()) {
|
while (matcher.find()) {
|
||||||
String arg = matcher.group();
|
String arg = matcher.group();
|
||||||
int startIndex = 0;
|
int startIndex = 0;
|
||||||
@ -163,6 +160,12 @@ public class BotEventHandler implements EventHandler {
|
|||||||
String[] args = new String[argsList.size()];
|
String[] args = new String[argsList.size()];
|
||||||
argsList.toArray(args);
|
argsList.toArray(args);
|
||||||
log.debug("传入参数: {}", Arrays.toString(args));
|
log.debug("传入参数: {}", Arrays.toString(args));
|
||||||
|
argsList.add("-$fromGroup");
|
||||||
|
argsList.add(String.valueOf(event.getFromGroup()));
|
||||||
|
argsList.add("-$fromQQ");
|
||||||
|
argsList.add(String.valueOf(event.getFromQQ()));
|
||||||
|
args = Arrays.copyOf(args, args.length + 4);
|
||||||
|
argsList.toArray(args);
|
||||||
|
|
||||||
log.info("正在处理命令...");
|
log.info("正在处理命令...");
|
||||||
long time = System.currentTimeMillis();
|
long time = System.currentTimeMillis();
|
||||||
|
Loading…
Reference in New Issue
Block a user