From 9faea0a3962ec5cf6db4714c397395b3fbbe4508 Mon Sep 17 00:00:00 2001 From: Him188 <Him188@mamoe.net> Date: Sun, 1 Mar 2020 00:32:33 +0800 Subject: [PATCH] Add `MessageRecallEvent.FriendRecall` --- .../net.mamoe.mirai/event/events/BotEvents.kt | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt index cb816a329..64a6b9e5e 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt @@ -114,6 +114,22 @@ sealed class MessageRecallEvent : BotEvent { */ abstract val messageTime: Int // seconds + /** + * 好友消息撤回事件, 暂不支持解析. + */ + data class FriendRecall( + override val bot: Bot, + override val messageId: Long, + override val messageTime: Int, + /** + * 撤回操作人, 可能为 [Bot.uin] 或好友的 [QQ.id] + */ + val operator: Long + ) : MessageRecallEvent(), Packet { + override val authorId: Long + get() = bot.uin + } + data class GroupRecall( override val bot: Bot, override val authorId: Long, @@ -131,6 +147,14 @@ sealed class MessageRecallEvent : BotEvent { val MessageRecallEvent.GroupRecall.author: Member get() = if (authorId == bot.uin) group.botAsMember else group[authorId] +val MessageRecallEvent.FriendRecall.isByBot: Boolean get() = this.operator == bot.uin + +val MessageRecallEvent.isByBot: Boolean + get() = when (this) { + is MessageRecallEvent.FriendRecall -> this.isByBot + is MessageRecallEvent.GroupRecall -> (this as GroupOperableEvent).isByBot + } + // endregion // region 图片