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(
|
AutoSender sender = new RandomRankingArtworksSender(
|
||||||
MessageSenderBuilder.getMessageSender(MessageSource.Group, id),
|
MessageSenderBuilder.getMessageSender(MessageSource.GROUP, id),
|
||||||
id,
|
id,
|
||||||
rankingStart,
|
rankingStart,
|
||||||
rankingEnd,
|
rankingEnd,
|
||||||
|
@ -31,7 +31,7 @@ public class ConsoleMain {
|
|||||||
long groupId = Long.parseLong(lineReader.readLine("会话群组号:"));
|
long groupId = Long.parseLong(lineReader.readLine("会话群组号:"));
|
||||||
boolean isGroup = false;
|
boolean isGroup = false;
|
||||||
do {
|
do {
|
||||||
String input = lineReader.readLine("App " + qqId + (isGroup ? "@" + groupId : "$private") + " >");
|
String input = lineReader.readLine("App " + qqId + (isGroup ? "@" + groupId : "#private") + " >");
|
||||||
if(input.equalsIgnoreCase("#exit")) {
|
if(input.equalsIgnoreCase("#exit")) {
|
||||||
System.out.println("退出应用...");
|
System.out.println("退出应用...");
|
||||||
break;
|
break;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package net.lamgc.cgj.bot.framework.cli.message;
|
package net.lamgc.cgj.bot.framework.cli.message;
|
||||||
|
|
||||||
import net.lamgc.cgj.bot.event.MessageEvent;
|
import net.lamgc.cgj.bot.event.MessageEvent;
|
||||||
|
import net.lamgc.cgj.bot.message.MessageSenderBuilder;
|
||||||
import java.util.Date;
|
import net.lamgc.cgj.bot.message.MessageSource;
|
||||||
|
|
||||||
public class ConsoleMessageEvent extends MessageEvent {
|
public class ConsoleMessageEvent extends MessageEvent {
|
||||||
|
|
||||||
@ -11,9 +11,15 @@ public class ConsoleMessageEvent extends MessageEvent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int sendMessage(String message) {
|
public int sendMessage(String message) throws Exception {
|
||||||
System.out.println(new Date() + " Bot: " + message);
|
if(getFromGroup() <= 0) {
|
||||||
return 0;
|
return MessageSenderBuilder
|
||||||
|
.getMessageSender(MessageSource.PRIVATE, getFromQQ()).sendMessage(message);
|
||||||
|
} else {
|
||||||
|
return MessageSenderBuilder
|
||||||
|
.getMessageSender(MessageSource.GROUP, getFromQQ()).sendMessage(message);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,13 +1,26 @@
|
|||||||
package net.lamgc.cgj.bot.framework.cli.message;
|
package net.lamgc.cgj.bot.framework.cli.message;
|
||||||
|
|
||||||
import net.lamgc.cgj.bot.message.MessageSender;
|
import net.lamgc.cgj.bot.message.MessageSender;
|
||||||
|
import net.lamgc.cgj.bot.message.MessageSource;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
public class ConsoleMessageSender implements MessageSender {
|
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
|
@Override
|
||||||
public synchronized int sendMessage(String message) {
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,10 +6,8 @@ import net.lamgc.cgj.bot.message.MessageSource;
|
|||||||
|
|
||||||
public class ConsoleMessageSenderFactory implements MessageSenderFactory {
|
public class ConsoleMessageSenderFactory implements MessageSenderFactory {
|
||||||
|
|
||||||
private final static ConsoleMessageSender sender = new ConsoleMessageSender();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MessageSender createMessageSender(MessageSource source, long id) {
|
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);
|
this.cq = Objects.requireNonNull(cq);
|
||||||
MessageSource source;
|
MessageSource source;
|
||||||
if(messageEvent instanceof CQGroupMessageEvent) {
|
if(messageEvent instanceof CQGroupMessageEvent) {
|
||||||
source = MessageSource.Group;
|
source = MessageSource.GROUP;
|
||||||
} else if (messageEvent instanceof CQDiscussMessageEvent) {
|
} else if (messageEvent instanceof CQDiscussMessageEvent) {
|
||||||
source = MessageSource.Discuss;
|
source = MessageSource.DISCUSS;
|
||||||
} else {
|
} 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
|
@Override
|
||||||
|
@ -19,11 +19,11 @@ public class SpringCQMessageSender implements MessageSender {
|
|||||||
@Override
|
@Override
|
||||||
public int sendMessage(String message) {
|
public int sendMessage(String message) {
|
||||||
switch (source) {
|
switch (source) {
|
||||||
case Private:
|
case PRIVATE:
|
||||||
return coolQ.sendPrivateMsg(target, message, false).getData().getMessageId();
|
return coolQ.sendPrivateMsg(target, message, false).getData().getMessageId();
|
||||||
case Group:
|
case GROUP:
|
||||||
return coolQ.sendGroupMsg(target, message, false).getData().getMessageId();
|
return coolQ.sendGroupMsg(target, message, false).getData().getMessageId();
|
||||||
case Discuss:
|
case DISCUSS:
|
||||||
return coolQ.sendDiscussMsg(target, message, false).getData().getMessageId();
|
return coolQ.sendDiscussMsg(target, message, false).getData().getMessageId();
|
||||||
default:
|
default:
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -28,9 +28,9 @@ public class MiraiMessageEvent extends net.lamgc.cgj.bot.event.MessageEvent {
|
|||||||
message.getSender().getId(), getMessageBodyWithoutSource(message.getMessage().toString()));
|
message.getSender().getId(), getMessageBodyWithoutSource(message.getMessage().toString()));
|
||||||
this.messageObject = Objects.requireNonNull(message);
|
this.messageObject = Objects.requireNonNull(message);
|
||||||
if(message instanceof GroupMessageEvent) {
|
if(message instanceof GroupMessageEvent) {
|
||||||
messageSender = new MiraiMessageSender(((GroupMessageEvent) message).getGroup(), MessageSource.Group);
|
messageSender = new MiraiMessageSender(((GroupMessageEvent) message).getGroup(), MessageSource.GROUP);
|
||||||
} else {
|
} 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()));
|
super(groupId, qqId, getMessageBodyWithoutSource(message.toString()));
|
||||||
this.messageObject = Objects.requireNonNull(messageObject, "messageObject is null");
|
this.messageObject = Objects.requireNonNull(messageObject, "messageObject is null");
|
||||||
if(groupId != 0) {
|
if(groupId != 0) {
|
||||||
this.messageSender = new MiraiMessageSender(((GroupMessageEvent) messageObject).getGroup(), MessageSource.Group);
|
this.messageSender = new MiraiMessageSender(((GroupMessageEvent) messageObject).getGroup(), MessageSource.GROUP);
|
||||||
} else {
|
} 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 当在机器人好友列表或群列表里没有这个好友或群的时候抛出
|
* @throws NoSuchElementException 当在机器人好友列表或群列表里没有这个好友或群的时候抛出
|
||||||
*/
|
*/
|
||||||
public MiraiMessageSender(Bot bot, MessageSource source, long id) {
|
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