mirror of
https://github.com/LamGC/ContentGrabbingJi.git
synced 2025-04-30 06:37:36 +00:00
[Change] ConsoleMessageEvent, ConsoleMessageSender 将消息传递给Sender发送, 设置消息前缀格式;
[Change] ConsoleMain 调整私聊模式下的前缀; [Change] MessageSource 规范化命名;
This commit is contained in:
parent
abcd26f21b
commit
ebb3dea99e
@ -270,7 +270,7 @@ public class BotAdminCommandProcess {
|
||||
}
|
||||
|
||||
AutoSender sender = new RandomRankingArtworksSender(
|
||||
MessageSenderBuilder.getMessageSender(MessageSource.Group, id),
|
||||
MessageSenderBuilder.getMessageSender(MessageSource.GROUP, id),
|
||||
id,
|
||||
rankingStart,
|
||||
rankingEnd,
|
||||
|
@ -31,7 +31,7 @@ public class ConsoleMain {
|
||||
long groupId = Long.parseLong(lineReader.readLine("会话群组号:"));
|
||||
boolean isGroup = false;
|
||||
do {
|
||||
String input = lineReader.readLine("App " + qqId + (isGroup ? "@" + groupId : "$private") + " >");
|
||||
String input = lineReader.readLine("App " + qqId + (isGroup ? "@" + groupId : "#private") + " >");
|
||||
if(input.equalsIgnoreCase("#exit")) {
|
||||
System.out.println("退出应用...");
|
||||
break;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package net.lamgc.cgj.bot.framework.cli.message;
|
||||
|
||||
import net.lamgc.cgj.bot.event.MessageEvent;
|
||||
|
||||
import java.util.Date;
|
||||
import net.lamgc.cgj.bot.message.MessageSenderBuilder;
|
||||
import net.lamgc.cgj.bot.message.MessageSource;
|
||||
|
||||
public class ConsoleMessageEvent extends MessageEvent {
|
||||
|
||||
@ -11,9 +11,15 @@ public class ConsoleMessageEvent extends MessageEvent {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int sendMessage(String message) {
|
||||
System.out.println(new Date() + " Bot: " + message);
|
||||
return 0;
|
||||
public int sendMessage(String message) throws Exception {
|
||||
if(getFromGroup() <= 0) {
|
||||
return MessageSenderBuilder
|
||||
.getMessageSender(MessageSource.PRIVATE, getFromQQ()).sendMessage(message);
|
||||
} else {
|
||||
return MessageSenderBuilder
|
||||
.getMessageSender(MessageSource.GROUP, getFromQQ()).sendMessage(message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,13 +1,26 @@
|
||||
package net.lamgc.cgj.bot.framework.cli.message;
|
||||
|
||||
import net.lamgc.cgj.bot.message.MessageSender;
|
||||
import net.lamgc.cgj.bot.message.MessageSource;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
public class ConsoleMessageSender implements MessageSender {
|
||||
|
||||
private final static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
|
||||
private final MessageSource source;
|
||||
private final long id;
|
||||
|
||||
ConsoleMessageSender(MessageSource source, long id) {
|
||||
this.source = source;
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized int sendMessage(String message) {
|
||||
System.out.println(new Date() + " Bot: " + message);
|
||||
System.out.println(dateFormat.format(new Date()) + " Bot -> " +
|
||||
(source == MessageSource.PRIVATE ? "#" : "@") + id + ": " + message);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -6,10 +6,8 @@ import net.lamgc.cgj.bot.message.MessageSource;
|
||||
|
||||
public class ConsoleMessageSenderFactory implements MessageSenderFactory {
|
||||
|
||||
private final static ConsoleMessageSender sender = new ConsoleMessageSender();
|
||||
|
||||
@Override
|
||||
public MessageSender createMessageSender(MessageSource source, long id) {
|
||||
return sender;
|
||||
return new ConsoleMessageSender(source, id);
|
||||
}
|
||||
}
|
||||
|
@ -26,13 +26,13 @@ public class SpringCQMessageEvent extends MessageEvent {
|
||||
this.cq = Objects.requireNonNull(cq);
|
||||
MessageSource source;
|
||||
if(messageEvent instanceof CQGroupMessageEvent) {
|
||||
source = MessageSource.Group;
|
||||
source = MessageSource.GROUP;
|
||||
} else if (messageEvent instanceof CQDiscussMessageEvent) {
|
||||
source = MessageSource.Discuss;
|
||||
source = MessageSource.DISCUSS;
|
||||
} else {
|
||||
source = MessageSource.Private;
|
||||
source = MessageSource.PRIVATE;
|
||||
}
|
||||
messageSender = new SpringCQMessageSender(cq, source, source == MessageSource.Private ? getFromQQ() : getFromGroup());
|
||||
messageSender = new SpringCQMessageSender(cq, source, source == MessageSource.PRIVATE ? getFromQQ() : getFromGroup());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -19,11 +19,11 @@ public class SpringCQMessageSender implements MessageSender {
|
||||
@Override
|
||||
public int sendMessage(String message) {
|
||||
switch (source) {
|
||||
case Private:
|
||||
case PRIVATE:
|
||||
return coolQ.sendPrivateMsg(target, message, false).getData().getMessageId();
|
||||
case Group:
|
||||
case GROUP:
|
||||
return coolQ.sendGroupMsg(target, message, false).getData().getMessageId();
|
||||
case Discuss:
|
||||
case DISCUSS:
|
||||
return coolQ.sendDiscussMsg(target, message, false).getData().getMessageId();
|
||||
default:
|
||||
return -1;
|
||||
|
@ -28,9 +28,9 @@ public class MiraiMessageEvent extends net.lamgc.cgj.bot.event.MessageEvent {
|
||||
message.getSender().getId(), getMessageBodyWithoutSource(message.getMessage().toString()));
|
||||
this.messageObject = Objects.requireNonNull(message);
|
||||
if(message instanceof GroupMessageEvent) {
|
||||
messageSender = new MiraiMessageSender(((GroupMessageEvent) message).getGroup(), MessageSource.Group);
|
||||
messageSender = new MiraiMessageSender(((GroupMessageEvent) message).getGroup(), MessageSource.GROUP);
|
||||
} else {
|
||||
messageSender = new MiraiMessageSender(message.getSender(), MessageSource.Private);
|
||||
messageSender = new MiraiMessageSender(message.getSender(), MessageSource.PRIVATE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,9 +45,9 @@ public class MiraiMessageEvent extends net.lamgc.cgj.bot.event.MessageEvent {
|
||||
super(groupId, qqId, getMessageBodyWithoutSource(message.toString()));
|
||||
this.messageObject = Objects.requireNonNull(messageObject, "messageObject is null");
|
||||
if(groupId != 0) {
|
||||
this.messageSender = new MiraiMessageSender(((GroupMessageEvent) messageObject).getGroup(), MessageSource.Group);
|
||||
this.messageSender = new MiraiMessageSender(((GroupMessageEvent) messageObject).getGroup(), MessageSource.GROUP);
|
||||
} else {
|
||||
this.messageSender = new MiraiMessageSender(messageObject.getSender(), MessageSource.Group);
|
||||
this.messageSender = new MiraiMessageSender(messageObject.getSender(), MessageSource.GROUP);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ public class MiraiMessageSender implements MessageSender {
|
||||
* @throws NoSuchElementException 当在机器人好友列表或群列表里没有这个好友或群的时候抛出
|
||||
*/
|
||||
public MiraiMessageSender(Bot bot, MessageSource source, long id) {
|
||||
this(source == MessageSource.Private ? bot.getFriend(id) : bot.getGroup(id), source);
|
||||
this(source == MessageSource.PRIVATE ? bot.getFriend(id) : bot.getGroup(id), source);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -7,17 +7,17 @@ public enum MessageSource {
|
||||
/**
|
||||
* 私聊消息
|
||||
*/
|
||||
Private,
|
||||
PRIVATE,
|
||||
/**
|
||||
* 群组消息
|
||||
*/
|
||||
Group,
|
||||
GROUP,
|
||||
/**
|
||||
* 讨论组消息
|
||||
*/
|
||||
Discuss,
|
||||
DISCUSS,
|
||||
/**
|
||||
* 未知来源
|
||||
*/
|
||||
Unknown
|
||||
UNKNOWN
|
||||
}
|
Loading…
Reference in New Issue
Block a user