mirror of
https://github.com/LamGC/ContentGrabbingJi.git
synced 2025-07-04 06:17:26 +00:00
[Change] 调整CGJ包结构, 将机器人平台相关类单独存放在framework包内;
This commit is contained in:
@ -1,39 +0,0 @@
|
||||
package net.lamgc.cgj.bot.event;
|
||||
|
||||
import net.lamgc.cgj.bot.message.MessageSender;
|
||||
import net.lamgc.cgj.bot.message.MessageSource;
|
||||
import net.lamgc.cgj.bot.message.MiraiMessageSender;
|
||||
import net.mamoe.mirai.message.ContactMessage;
|
||||
import net.mamoe.mirai.message.GroupMessage;
|
||||
import net.mamoe.mirai.message.data.MessageUtils;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class MiraiMessageEvent extends MessageEvent {
|
||||
|
||||
private final ContactMessage messageObject;
|
||||
private final MessageSender messageSender;
|
||||
|
||||
public MiraiMessageEvent(ContactMessage message) {
|
||||
super(message instanceof GroupMessage ? ((GroupMessage) message).getGroup().getId() : 0,
|
||||
message.getSender().getId(), message.getMessage().contentToString());
|
||||
this.messageObject = Objects.requireNonNull(message);
|
||||
if(message instanceof GroupMessage) {
|
||||
messageSender = new MiraiMessageSender(((GroupMessage) message).getGroup(), MessageSource.Group);
|
||||
} else {
|
||||
messageSender = new MiraiMessageSender(message.getSender(), MessageSource.Private);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int sendMessage(final String message) {
|
||||
return messageSender.sendMessage(message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getImageUrl(String imageId) {
|
||||
return messageObject.getBot().queryImageUrl(MessageUtils.newImage(imageId));
|
||||
}
|
||||
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
package net.lamgc.cgj.bot.event;
|
||||
|
||||
import net.lamgc.cgj.bot.BotCode;
|
||||
import net.lamgc.cgj.bot.message.MessageSender;
|
||||
import net.lamgc.cgj.bot.message.MessageSource;
|
||||
import net.lamgc.cgj.bot.message.SpringCQMessageSender;
|
||||
import net.lz1998.cq.event.message.CQDiscussMessageEvent;
|
||||
import net.lz1998.cq.event.message.CQGroupMessageEvent;
|
||||
import net.lz1998.cq.event.message.CQMessageEvent;
|
||||
import net.lz1998.cq.robot.CoolQ;
|
||||
|
||||
import java.net.InetSocketAddress;
|
||||
import java.util.Objects;
|
||||
|
||||
public class SpringCQMessageEvent extends MessageEvent {
|
||||
|
||||
private final CoolQ cq;
|
||||
private final MessageSender messageSender;
|
||||
|
||||
public SpringCQMessageEvent(CoolQ cq, CQMessageEvent messageEvent) {
|
||||
super(messageEvent instanceof CQGroupMessageEvent ? (
|
||||
(CQGroupMessageEvent) messageEvent).getGroupId() :
|
||||
messageEvent instanceof CQDiscussMessageEvent ?
|
||||
((CQDiscussMessageEvent) messageEvent).getDiscussId() : 0,
|
||||
messageEvent.getUserId(), messageEvent.getMessage());
|
||||
this.cq = Objects.requireNonNull(cq);
|
||||
MessageSource source;
|
||||
if(messageEvent instanceof CQGroupMessageEvent) {
|
||||
source = MessageSource.Group;
|
||||
} else if (messageEvent instanceof CQDiscussMessageEvent) {
|
||||
source = MessageSource.Discuss;
|
||||
} else {
|
||||
source = MessageSource.Private;
|
||||
}
|
||||
messageSender = new SpringCQMessageSender(cq, source, source == MessageSource.Private ? getFromQQ() : getFromGroup());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int sendMessage(final String message) {
|
||||
return messageSender.sendMessage(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过CQ码获取图片下载链接.
|
||||
* @param imageFileName 图片完整CQ码
|
||||
* @return 图片下载链接
|
||||
*/
|
||||
@Override
|
||||
public String getImageUrl(String imageFileName) {
|
||||
BotCode code;
|
||||
if(imageFileName.startsWith("[CQ:") && imageFileName.endsWith("]")) {
|
||||
code = BotCode.parse(imageFileName);
|
||||
return code.getParameter("url");
|
||||
} else {
|
||||
InetSocketAddress remoteAddress = cq.getBotSession().getRemoteAddress();
|
||||
if(remoteAddress == null) {
|
||||
throw new IllegalStateException("remoteAddress failed to get");
|
||||
}
|
||||
String file = cq.getImage(imageFileName).getData().getFile().replaceAll("\\\\", "/");
|
||||
return "http://" + remoteAddress.getHostString() + ":5700/data" + file.substring(file.lastIndexOf("/data") + 5);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user