From 0c58c511d0ed2d4d26e00ab034a7aa784007120c Mon Sep 17 00:00:00 2001
From: ryoii <ryoii@foxmail.com>
Date: Sun, 23 Feb 2020 18:22:58 +0800
Subject: [PATCH] Http api ignore unknown message type tdo

---
 .../net/mamoe/mirai/api/http/data/common/MessageDTO.kt      | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/mirai-api-http/src/main/kotlin/net/mamoe/mirai/api/http/data/common/MessageDTO.kt b/mirai-api-http/src/main/kotlin/net/mamoe/mirai/api/http/data/common/MessageDTO.kt
index d13a97f17..b0906898a 100644
--- a/mirai-api-http/src/main/kotlin/net/mamoe/mirai/api/http/data/common/MessageDTO.kt
+++ b/mirai-api-http/src/main/kotlin/net/mamoe/mirai/api/http/data/common/MessageDTO.kt
@@ -17,7 +17,9 @@ import net.mamoe.mirai.message.FriendMessage
 import net.mamoe.mirai.message.GroupMessage
 import net.mamoe.mirai.message.MessagePacket
 import net.mamoe.mirai.message.data.*
+import net.mamoe.mirai.message.uploadImage
 import net.mamoe.mirai.utils.MiraiInternalAPI
+import java.net.URL
 
 /*
 *   DTO data class
@@ -97,7 +99,7 @@ fun MessageChain.toDTOChain() = mutableListOf(this[MessageSource].toDTO()).apply
 }
 
 fun MessageChainDTO.toMessageChain(contact: Contact) =
-    buildMessageChain { this@toMessageChain.forEach { add(it.toMessage(contact)) } }
+    buildMessageChain { this@toMessageChain.forEach { it.toMessage(contact)?.let(::add) } }
 
 @UseExperimental(ExperimentalUnsignedTypes::class)
 fun Message.toDTO() = when (this) {
@@ -119,6 +121,6 @@ fun MessageDTO.toMessage(contact: Contact) = when (this) {
     is PlainDTO -> PlainText(text)
     is ImageDTO -> Image(imageId)
     is XmlDTO -> XMLMessage(xml)
-    is MessageSourceDTO, is UnknownMessageDTO -> PlainText("assert cannot reach")
+    is MessageSourceDTO, is UnknownMessageDTO -> null
 }