diff --git a/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java b/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java index 034e855..68b95e3 100644 --- a/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java +++ b/src/main/java/net/lamgc/cgj/bot/BotAdminCommandProcess.java @@ -270,7 +270,7 @@ public class BotAdminCommandProcess { } AutoSender sender = new RandomRankingArtworksSender( - MessageSenderBuilder.getMessageSender(MessageSource.Group, id), + MessageSenderBuilder.getMessageSender(MessageSource.GROUP, id), id, rankingStart, rankingEnd, diff --git a/src/main/java/net/lamgc/cgj/bot/framework/cli/ConsoleMain.java b/src/main/java/net/lamgc/cgj/bot/framework/cli/ConsoleMain.java index d76d39a..d68f4e7 100644 --- a/src/main/java/net/lamgc/cgj/bot/framework/cli/ConsoleMain.java +++ b/src/main/java/net/lamgc/cgj/bot/framework/cli/ConsoleMain.java @@ -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; diff --git a/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageEvent.java b/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageEvent.java index 2ce30db..08698b0 100644 --- a/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageEvent.java +++ b/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageEvent.java @@ -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 diff --git a/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageSender.java b/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageSender.java index 05a1ed3..e5bcaa1 100644 --- a/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageSender.java +++ b/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageSender.java @@ -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; } } diff --git a/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageSenderFactory.java b/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageSenderFactory.java index b88e8c4..c5b8c98 100644 --- a/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageSenderFactory.java +++ b/src/main/java/net/lamgc/cgj/bot/framework/cli/message/ConsoleMessageSenderFactory.java @@ -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); } } diff --git a/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageEvent.java b/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageEvent.java index 6a4b056..d2b1f11 100644 --- a/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageEvent.java +++ b/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageEvent.java @@ -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 diff --git a/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageSender.java b/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageSender.java index abe9214..0ebff9f 100644 --- a/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageSender.java +++ b/src/main/java/net/lamgc/cgj/bot/framework/coolq/message/SpringCQMessageSender.java @@ -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; diff --git a/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageEvent.java b/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageEvent.java index 3ff4c1c..8067edf 100644 --- a/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageEvent.java +++ b/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageEvent.java @@ -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); } } diff --git a/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageSender.java b/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageSender.java index f53884b..35537d5 100644 --- a/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageSender.java +++ b/src/main/java/net/lamgc/cgj/bot/framework/mirai/message/MiraiMessageSender.java @@ -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); } /** diff --git a/src/main/java/net/lamgc/cgj/bot/message/MessageSource.java b/src/main/java/net/lamgc/cgj/bot/message/MessageSource.java index 4beb53f..d491d70 100644 --- a/src/main/java/net/lamgc/cgj/bot/message/MessageSource.java +++ b/src/main/java/net/lamgc/cgj/bot/message/MessageSource.java @@ -7,17 +7,17 @@ public enum MessageSource { /** * 私聊消息 */ - Private, + PRIVATE, /** * 群组消息 */ - Group, + GROUP, /** * 讨论组消息 */ - Discuss, + DISCUSS, /** * 未知来源 */ - Unknown + UNKNOWN } \ No newline at end of file