From 0e182be31c26ec77392638b3e4861f4225ef0ee7 Mon Sep 17 00:00:00 2001 From: LamGC Date: Thu, 16 Apr 2020 19:55:48 +0800 Subject: [PATCH] =?UTF-8?q?[Add]=20MessageEvent=20=E5=A2=9E=E5=8A=A0=20get?= =?UTF-8?q?ImageUrl=20=E6=8A=BD=E8=B1=A1=E6=96=B9=E6=B3=95,=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=AF=B9=20toString=20=E6=96=B9=E6=B3=95=E7=9A=84?= =?UTF-8?q?=E9=87=8D=E5=86=99;=20[Update]=20MessageEvent=20=E8=A1=A5?= =?UTF-8?q?=E5=85=85Javadoc;=20[Update]=20MiraiMessageEvent=20=E9=80=82?= =?UTF-8?q?=E9=85=8D=20getImageUrl=20=E6=96=B9=E6=B3=95;=20[Change]=20Mira?= =?UTF-8?q?iMessageEvent=20=E4=BC=98=E5=8C=96=E7=BC=93=E5=AD=98=E5=AD=98?= =?UTF-8?q?=E5=8F=96=E8=BF=87=E7=A8=8B;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/lamgc/cgj/bot/event/MessageEvent.java | 36 +++++++++++++++++++ .../cgj/bot/event/MiraiMessageEvent.java | 13 +++++-- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/lamgc/cgj/bot/event/MessageEvent.java b/src/main/java/net/lamgc/cgj/bot/event/MessageEvent.java index 1e953cc..d72ff66 100644 --- a/src/main/java/net/lamgc/cgj/bot/event/MessageEvent.java +++ b/src/main/java/net/lamgc/cgj/bot/event/MessageEvent.java @@ -14,20 +14,56 @@ public abstract class MessageEvent implements EventObject { this.message = message; } + /** + * 发送消息 + * @param message 消息内容 + * @return 成功返回MessageId, 如没有MessageId则返回0, 失败返回负数错误码 + */ public abstract int sendMessage(final String message); + /** + * 获取图片下载地址. + * @param image 图片id或图片名 + * @return 下载地址 + */ + public abstract String getImageUrl(String image); + + /** + * 获取原始消息对象.(不推荐使用) + * @return 消息对象 + */ public abstract Object getRawMessage(); + /** + * 获取来源群组号 + * @return 如非群组消息, 返回0 + */ public long getFromGroup() { return fromGroup; } + /** + * 获取消息发送者QQ号 + * @return 消息发送者QQ号 + */ public long getFromQQ() { return fromQQ; } + /** + * 获取消息内容 + * @return 消息内容; + */ public String getMessage() { return message; } + @Override + public String toString() { + return "MessageEvent{" + + "fromGroup=" + getFromGroup() + + ", fromQQ=" + getFromQQ() + + ", message='" + getMessage() + '\'' + + '}'; + } } diff --git a/src/main/java/net/lamgc/cgj/bot/event/MiraiMessageEvent.java b/src/main/java/net/lamgc/cgj/bot/event/MiraiMessageEvent.java index b717db1..68cb489 100644 --- a/src/main/java/net/lamgc/cgj/bot/event/MiraiMessageEvent.java +++ b/src/main/java/net/lamgc/cgj/bot/event/MiraiMessageEvent.java @@ -54,6 +54,11 @@ public class MiraiMessageEvent extends MessageEvent { return 0; } + @Override + public String getImageUrl(String imageId) { + return messageObject.getBot().queryImageUrl(MessageUtils.newImage(imageId)); + } + @Override public Object getRawMessage() { return messageObject; @@ -151,8 +156,12 @@ public class MiraiMessageEvent extends MessageEvent { log.debug("ImageName: [{}] 缓存命中.", imageName); } - String cache = imageIdCache.getCache(imageName); - return image != null ? image : MessageUtils.newImage(cache); + if(image == null) { + image = MessageUtils.newImage(imageIdCache.getCache(imageName)); + } + + log.debug("ImageName: {}, ImageId: {}", imageName, image.getImageId()); + return image; } else { log.debug("未设置imageName, 无法使用缓存."); return uploadImage0(new File(absolutePath));