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));