From 410d6c0828a58088c04c53df74512854ef5322c3 Mon Sep 17 00:00:00 2001 From: LamGC Date: Sat, 25 Apr 2020 17:02:01 +0800 Subject: [PATCH] =?UTF-8?q?[Add]=20BotAdminCommandProcess,=20PixivDownload?= =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97=E8=BE=93=E5=87=BA?= =?UTF-8?q?=E5=86=85=E5=AE=B9;=20[Change]=20RandomIntervalSendTimer=20?= =?UTF-8?q?=E5=AF=B9AutoSender=E5=A2=9E=E5=8A=A0=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E6=8D=95=E8=8E=B7=E4=BB=A5=E5=87=8F=E5=B0=91=E5=AF=B9=E5=85=B6?= =?UTF-8?q?=E4=BB=96Timer=E6=89=A7=E8=A1=8C=E7=9A=84=E5=BD=B1=E5=93=8D;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/net/lamgc/cgj/bot/BotAdminCommandProcess.java | 3 ++- .../java/net/lamgc/cgj/bot/RandomIntervalSendTimer.java | 7 ++++++- src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java | 5 +++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java b/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java index 9843a27..0717506 100644 --- a/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java +++ b/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java @@ -265,12 +265,13 @@ public class BotAdminCommandProcess { pageQuality ); - RandomIntervalSendTimer.createTimer( + RandomIntervalSendTimer timer = RandomIntervalSendTimer.createTimer( id, sender, setting.get("time.min").getAsLong(), setting.get("time.float").getAsInt(), true, true); + log.info("群组 {} 已创建对应Timer: {}", id, Integer.toHexString(timer.hashCode())); } /** diff --git a/src/main/java/net/lamgc/cgj/bot/RandomIntervalSendTimer.java b/src/main/java/net/lamgc/cgj/bot/RandomIntervalSendTimer.java index 1e91ed5..693ce69 100644 --- a/src/main/java/net/lamgc/cgj/bot/RandomIntervalSendTimer.java +++ b/src/main/java/net/lamgc/cgj/bot/RandomIntervalSendTimer.java @@ -1,5 +1,6 @@ package net.lamgc.cgj.bot; +import com.google.common.base.Throwables; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -120,7 +121,11 @@ public class RandomIntervalSendTimer extends TimerTask { @Override public void run() { - sender.send(); + try { + sender.send(); + } catch (Exception e) { + log.error("定时器 {} 执行时发生异常:\n{}", Integer.toHexString(this.hashCode()), Throwables.getStackTraceAsString(e)); + } if (this.loop.get()) { start(); } diff --git a/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java b/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java index 4ee9a19..3589eeb 100644 --- a/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java +++ b/src/main/java/net/lamgc/cgj/pixiv/PixivDownload.java @@ -319,12 +319,13 @@ public class PixivDownload { HttpGet request = createHttpGetRequest(PixivURL.getRankingLink(contentType, mode, time, pageIndex, true)); log.debug("RequestUri: {}", request.getURI()); HttpResponse response = httpClient.execute(request); - + String responseBody = EntityUtils.toString(response.getEntity()); + log.debug("ResponseBody: {}", responseBody); if(response.getStatusLine().getStatusCode() != 200) { throw new IOException("Http Response Error: " + response.getStatusLine()); } - JsonArray resultArray = gson.fromJson(EntityUtils.toString(response.getEntity()), JsonObject.class).getAsJsonArray("contents"); + JsonArray resultArray = gson.fromJson(responseBody, JsonObject.class).getAsJsonArray("contents"); for (int resultIndex = startIndex; resultIndex < resultArray.size() && count < range; resultIndex++, count++) { results.add(resultArray.get(resultIndex).getAsJsonObject()); }