Commit 47601918 authored by ryoii's avatar ryoii

Add IgnoreEventDTO remove UnknownMessagePacketDTO

parent f7ab3b26
...@@ -32,32 +32,36 @@ data class FriendMessagePacketDTO(val sender: QQDTO) : MessagePacketDTO() ...@@ -32,32 +32,36 @@ data class FriendMessagePacketDTO(val sender: QQDTO) : MessagePacketDTO()
@SerialName("GroupMessage") @SerialName("GroupMessage")
data class GroupMessagePacketDTO(val sender: MemberDTO) : MessagePacketDTO() data class GroupMessagePacketDTO(val sender: MemberDTO) : MessagePacketDTO()
@Serializable
@SerialName("UnKnownMessage")
data class UnKnownMessagePacketDTO(val msg: String) : MessagePacketDTO()
// Message // Message
@Serializable @Serializable
@SerialName("Source") @SerialName("Source")
data class MessageSourceDTO(val uid: Long) : MessageDTO() data class MessageSourceDTO(val uid: Long) : MessageDTO()
@Serializable @Serializable
@SerialName("At") @SerialName("At")
data class AtDTO(val target: Long, val display: String = "") : MessageDTO() data class AtDTO(val target: Long, val display: String = "") : MessageDTO()
@Serializable @Serializable
@SerialName("AtAll") @SerialName("AtAll")
data class AtAllDTO(val target: Long = 0) : MessageDTO() // target为保留字段 data class AtAllDTO(val target: Long = 0) : MessageDTO() // target为保留字段
@Serializable @Serializable
@SerialName("Face") @SerialName("Face")
data class FaceDTO(val faceId: Int) : MessageDTO() data class FaceDTO(val faceId: Int) : MessageDTO()
@Serializable @Serializable
@SerialName("Plain") @SerialName("Plain")
data class PlainDTO(val text: String) : MessageDTO() data class PlainDTO(val text: String) : MessageDTO()
@Serializable @Serializable
@SerialName("Image") @SerialName("Image")
data class ImageDTO(val imageId: String) : MessageDTO() data class ImageDTO(val imageId: String) : MessageDTO()
@Serializable @Serializable
@SerialName("Xml") @SerialName("Xml")
data class XmlDTO(val xml: String) : MessageDTO() data class XmlDTO(val xml: String) : MessageDTO()
@Serializable @Serializable
@SerialName("Unknown") @SerialName("Unknown")
data class UnknownMessageDTO(val text: String) : MessageDTO() data class UnknownMessageDTO(val text: String) : MessageDTO()
...@@ -67,7 +71,7 @@ data class UnknownMessageDTO(val text: String) : MessageDTO() ...@@ -67,7 +71,7 @@ data class UnknownMessageDTO(val text: String) : MessageDTO()
* */ * */
@Serializable @Serializable
sealed class MessagePacketDTO : EventDTO() { sealed class MessagePacketDTO : EventDTO() {
lateinit var messageChain : MessageChainDTO lateinit var messageChain: MessageChainDTO
} }
typealias MessageChainDTO = List<MessageDTO> typealias MessageChainDTO = List<MessageDTO>
...@@ -79,11 +83,15 @@ sealed class MessageDTO : DTO ...@@ -79,11 +83,15 @@ sealed class MessageDTO : DTO
/* /*
Extend function Extend function
*/ */
fun MessagePacket<*, *>.toDTO(): MessagePacketDTO = when (this) { fun MessagePacket<*, *>.toDTO() = when (this) {
is FriendMessage -> FriendMessagePacketDTO(QQDTO(sender)) is FriendMessage -> FriendMessagePacketDTO(QQDTO(sender))
is GroupMessage -> GroupMessagePacketDTO(MemberDTO(sender)) is GroupMessage -> GroupMessagePacketDTO(MemberDTO(sender))
else -> UnKnownMessagePacketDTO("UnKnown Message Packet") else -> IgnoreEventDTO
}.apply { messageChain = mutableListOf<MessageDTO>().also{ ls -> message.foreachContent { ls.add(it.toDTO()) }}} }.apply {
if (this is MessagePacketDTO) {
messageChain = mutableListOf<MessageDTO>().also { ls -> message.foreachContent { ls.add(it.toDTO()) } }
}
}
fun MessageChainDTO.toMessageChain(contact: Contact) = fun MessageChainDTO.toMessageChain(contact: Contact) =
MessageChain().apply { this@toMessageChain.forEach { add(it.toMessage(contact)) } } MessageChain().apply { this@toMessageChain.forEach { add(it.toMessage(contact)) } }
...@@ -111,5 +119,3 @@ fun MessageDTO.toMessage(contact: Contact) = when (this) { ...@@ -111,5 +119,3 @@ fun MessageDTO.toMessage(contact: Contact) = when (this) {
is MessageSourceDTO, is UnknownMessageDTO -> PlainText("assert cannot reach") is MessageSourceDTO, is UnknownMessageDTO -> PlainText("assert cannot reach")
} }
...@@ -48,7 +48,6 @@ object MiraiJson { ...@@ -48,7 +48,6 @@ object MiraiJson {
polymorphic(EventDTO.serializer()) { polymorphic(EventDTO.serializer()) {
GroupMessagePacketDTO::class with GroupMessagePacketDTO.serializer() GroupMessagePacketDTO::class with GroupMessagePacketDTO.serializer()
FriendMessagePacketDTO::class with FriendMessagePacketDTO.serializer() FriendMessagePacketDTO::class with FriendMessagePacketDTO.serializer()
UnKnownMessagePacketDTO::class with UnKnownMessagePacketDTO.serializer()
BotOnlineEventDTO::class with BotOnlineEventDTO.serializer() BotOnlineEventDTO::class with BotOnlineEventDTO.serializer()
BotOfflineEventActiveDTO::class with BotOfflineEventActiveDTO.serializer() BotOfflineEventActiveDTO::class with BotOfflineEventActiveDTO.serializer()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment