From dd88f2acabd2c8ed519cb58afdf9a93536b373f7 Mon Sep 17 00:00:00 2001 From: LamGC Date: Sun, 19 Apr 2020 23:58:33 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20MiraiMessageSender=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=96=B0=E6=9E=84=E9=80=A0=E5=99=A8,=20=E8=A1=A5?= =?UTF-8?q?=E5=85=85Javadoc;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cgj/bot/message/MiraiMessageSender.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/lamgc/cgj/bot/message/MiraiMessageSender.java b/src/main/java/net/lamgc/cgj/bot/message/MiraiMessageSender.java index 988f894..7c84a57 100644 --- a/src/main/java/net/lamgc/cgj/bot/message/MiraiMessageSender.java +++ b/src/main/java/net/lamgc/cgj/bot/message/MiraiMessageSender.java @@ -8,6 +8,7 @@ import net.lamgc.cgj.bot.cache.HotDataCacheStore; import net.lamgc.cgj.bot.cache.LocalHashCacheStore; import net.lamgc.cgj.bot.cache.StringRedisCacheStore; import net.lamgc.cgj.bot.event.BotEventHandler; +import net.mamoe.mirai.Bot; import net.mamoe.mirai.contact.Contact; import net.mamoe.mirai.message.data.CombinedMessage; import net.mamoe.mirai.message.data.Image; @@ -18,6 +19,7 @@ import org.slf4j.LoggerFactory; import java.io.File; import java.util.ArrayList; +import java.util.NoSuchElementException; import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -32,8 +34,24 @@ public class MiraiMessageSender implements MessageSender { new LocalHashCacheStore<>(), 5400000, 1800000); - public MiraiMessageSender(Contact member, MessageSource source) { - this.member = member; + /** + * 使用id构造发送器 + * @param bot 机器人对象 + * @param source 消息源类型 + * @param id id, 将会根据消息源类型判断为什么号(QQ号或群号) + * @throws NoSuchElementException 当在机器人好友列表或群列表里没有这个好友或群的时候抛出 + */ + public MiraiMessageSender(Bot bot, MessageSource source, long id) { + this(source == MessageSource.Private ? bot.getFriend(id) : bot.getGroup(id), source); + } + + /** + * 通过联系人对象构造发送器 + * @param contact 联系人 + * @param source 消息源类型 + */ + public MiraiMessageSender(Contact contact, MessageSource source) { + this.member = contact; this.source = source; }