mirror of
https://github.com/LamGC/ContentGrabbingJi.git
synced 2025-04-30 06:37:36 +00:00
70 lines
1.8 KiB
Java
70 lines
1.8 KiB
Java
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();
|
|
}
|
|
|
|
} |