[Delete] BufferMessageEvent 移除缓冲消息事件;

[Add] BufferedMessageSender 增加缓冲消息发送器, 用于替代BufferMessageEvent;
[Change] BotCommandProcess 将Random命令中所使用的BufferMessageEvent替换成BufferedMessageSender;
This commit is contained in:
LamGC 2020-06-18 09:35:25 +08:00
parent c4ce18d37a
commit cf351074cc
3 changed files with 27 additions and 74 deletions

View File

@ -8,7 +8,7 @@ import net.lamgc.cgj.bot.boot.BotGlobal;
import net.lamgc.cgj.bot.cache.CacheStore; import net.lamgc.cgj.bot.cache.CacheStore;
import net.lamgc.cgj.bot.cache.CacheStoreCentral; import net.lamgc.cgj.bot.cache.CacheStoreCentral;
import net.lamgc.cgj.bot.cache.JsonRedisCacheStore; import net.lamgc.cgj.bot.cache.JsonRedisCacheStore;
import net.lamgc.cgj.bot.event.BufferMessageEvent; import net.lamgc.cgj.bot.event.BufferedMessageSender;
import net.lamgc.cgj.bot.sort.PreLoadDataAttribute; import net.lamgc.cgj.bot.sort.PreLoadDataAttribute;
import net.lamgc.cgj.bot.sort.PreLoadDataAttributeComparator; import net.lamgc.cgj.bot.sort.PreLoadDataAttributeComparator;
import net.lamgc.cgj.pixiv.PixivDownload; import net.lamgc.cgj.pixiv.PixivDownload;
@ -282,12 +282,12 @@ public class BotCommandProcess {
return "参数无效, 请查看帮助信息"; return "参数无效, 请查看帮助信息";
} }
BufferMessageEvent event = new BufferMessageEvent(); BufferedMessageSender bufferedSender = new BufferedMessageSender();
RandomRankingArtworksSender artworksSender = RandomRankingArtworksSender artworksSender =
new RandomRankingArtworksSender(event, fromGroup, 1, 200, mode, type, new RandomRankingArtworksSender(bufferedSender, fromGroup, 1, 200, mode, type,
PageQuality.ORIGINAL); PageQuality.ORIGINAL);
artworksSender.send(); artworksSender.send();
return event.getBufferMessage(); return bufferedSender.getBufferContent();
} }
/** /**

View File

@ -1,70 +0,0 @@
package net.lamgc.cgj.bot.event;
import java.util.Objects;
public class BufferMessageEvent extends MessageEvent {
private final StringBuffer buffer = new StringBuffer();
private final MessageEvent parent;
/**
* 以空消息空Id生成BufferMessageEvent
*/
public BufferMessageEvent() {
super(0, 0, "");
parent = null;
}
/**
* 提供消息内容构造BufferMessageEvent
* @param message 传入的消息内容
*/
public BufferMessageEvent(String message) {
super(0, 0, message);
parent = null;
}
/**
* 提供消息内容构和Id信息造BufferMessageEvent
* @param groupId 群组Id
* @param qqId 发送者Id
* @param message 传入的消息内容
*/
public BufferMessageEvent(int groupId, int qqId, String message) {
super(groupId, qqId, message);
parent = null;
}
/**
* 使用事件构造BufferMessageEvent
* @param parentEvent 父级消息事件对象
*/
public BufferMessageEvent(MessageEvent parentEvent) {
super(parentEvent.getFromGroup(), parentEvent.getFromQQ(), parentEvent.getMessage());
parent = parentEvent;
}
@Override
public int sendMessage(String message) {
buffer.append(message);
return 0;
}
/**
* 当提供了父级消息事件时, 本方法调用父级消息事件对象的{@code getImageUrl(String)}, 如果没有, 返回{@code null}
*/
@Override
public String getImageUrl(String image) {
return Objects.isNull(this.parent) ? null : this.parent.getImageUrl(image);
}
/**
* 获取缓冲区消息内容
* @return 消息内容
*/
public String getBufferMessage() {
return buffer.toString();
}
}

View File

@ -0,0 +1,23 @@
package net.lamgc.cgj.bot.event;
import net.lamgc.cgj.bot.message.MessageSender;
public class BufferedMessageSender implements MessageSender {
private final StringBuffer buffer = new StringBuffer();
@Override
public int sendMessage(String message) {
buffer.append(message);
return 0;
}
/**
* 从缓冲区中取出消息内容.
* @return 返回事件发送的消息内容.
*/
public String getBufferContent() {
return buffer.toString();
}
}