From e54ead6331c6f9f9460307b098e1787387db3dd0 Mon Sep 17 00:00:00 2001 From: Him188 Date: Tue, 5 May 2020 17:01:40 +0800 Subject: [PATCH] Fix binary compatibility --- .../net.mamoe.mirai/message/MessageEvent.kt | 67 ++++++++++++++++--- .../message/TempMessageEvent.kt | 2 +- 2 files changed, 60 insertions(+), 9 deletions(-) diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/MessageEvent.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/MessageEvent.kt index 775affd92..985cf4ac4 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/MessageEvent.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/MessageEvent.kt @@ -70,16 +70,19 @@ abstract class MessageEvent : @PlannedRemoval("1.2.0") ContactMessage(), */ abstract override val sender: User - abstract val senderName: String + /** + * 发送人名称 + */ + abstract override val senderName: String /** 消息内容 */ abstract override val message: MessageChain /** 消息发送时间 (由服务器提供) */ - abstract val time: Int + abstract override val time: Int /** 消息源 */ - open val source: OnlineMessageSource.Incoming get() = message.source as OnlineMessageSource.Incoming + override val source: OnlineMessageSource.Incoming get() = message.source as OnlineMessageSource.Incoming } /** 消息事件的扩展函数 */ @@ -170,7 +173,15 @@ internal expect interface MessageEventPlatformExtensions : Packet, BotEvent, AbstractEvent() +abstract class MessagePacketBase : Packet, BotEvent, AbstractEvent() { + abstract override val bot: Bot + abstract val sender: User + abstract val subject: Contact + abstract val message: MessageChain + abstract val time: Int + abstract val source: OnlineMessageSource.Incoming + abstract val senderName: String +} @PlannedRemoval("1.2.0") @Deprecated( @@ -180,7 +191,15 @@ abstract class MessagePacketBase : P ) @Suppress("DEPRECATION_ERROR") abstract class MessagePacket : MessagePacketBase(), - BotEvent, MessageEventExtensions + BotEvent, MessageEventExtensions { + abstract override val bot: Bot + abstract override val sender: User + abstract override val subject: Contact + abstract override val message: MessageChain + abstract override val time: Int + abstract override val source: OnlineMessageSource.Incoming + abstract override val senderName: String +} @PlannedRemoval("1.2.0") @Deprecated( @@ -190,7 +209,15 @@ abstract class MessagePacket : MessagePacketBase(), ) @Suppress("DEPRECATION_ERROR") abstract class ContactMessage : MessagePacket(), - BotEvent, MessageEventExtensions + BotEvent, MessageEventExtensions { + abstract override val bot: Bot + abstract override val sender: User + abstract override val subject: Contact + abstract override val message: MessageChain + abstract override val time: Int + abstract override val source: OnlineMessageSource.Incoming + abstract override val senderName: String +} @PlannedRemoval("1.2.0") @Deprecated( @@ -199,7 +226,15 @@ abstract class ContactMessage : MessagePacket(), level = DeprecationLevel.ERROR ) @Suppress("DEPRECATION_ERROR") -abstract class FriendMessage : MessageEvent() +abstract class FriendMessage : MessageEvent() { + abstract override val bot: Bot + abstract override val sender: Friend + abstract override val subject: Friend + abstract override val message: MessageChain + abstract override val time: Int + abstract override val source: OnlineMessageSource.Incoming.FromFriend + abstract override val senderName: String +} @PlannedRemoval("1.2.0") @Deprecated( @@ -210,6 +245,13 @@ abstract class FriendMessage : MessageEvent() @Suppress("DEPRECATION_ERROR") abstract class GroupMessage : MessageEvent() { abstract val group: Group + abstract override val bot: Bot + abstract override val sender: Member + abstract override val subject: Group + abstract override val message: MessageChain + abstract override val time: Int + abstract override val source: OnlineMessageSource.Incoming.FromGroup + abstract override val senderName: String } @PlannedRemoval("1.2.0") @@ -218,4 +260,13 @@ abstract class GroupMessage : MessageEvent() { replaceWith = ReplaceWith("TempMessageEvent", "net.mamoe.mirai.message.TempMessageEvent"), level = DeprecationLevel.ERROR ) -abstract class TempMessage : MessageEvent() \ No newline at end of file +abstract class TempMessage : MessageEvent() { + abstract override val bot: Bot + abstract override val sender: Member + abstract override val subject: Member + abstract override val message: MessageChain + abstract override val time: Int + abstract override val source: OnlineMessageSource.Incoming.FromTemp + abstract val group: Group + abstract override val senderName: String +} \ No newline at end of file diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/TempMessageEvent.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/TempMessageEvent.kt index 8455479e1..39ace9af8 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/TempMessageEvent.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/TempMessageEvent.kt @@ -29,7 +29,7 @@ class TempMessageEvent( override val bot: Bot get() = sender.bot override val subject: Member get() = sender - inline val group: Group get() = sender.group + override val group: Group get() = sender.group override val senderName: String get() = sender.nameCardOrNick override val source: OnlineMessageSource.Incoming.FromTemp get() = message.source as OnlineMessageSource.Incoming.FromTemp