@@ -79,25 +79,6 @@ public sealed class BaseMessage {
7979 */
8080 @SerialName(" message_style" )
8181 public val messageStyle: MessageStyle ? = null
82-
83- /* *
84- * 下面的方法都是推荐仅在Java中使用
85- */
86- public fun getTexts (): List <String > = this .texts
87-
88- public fun getText (): String = this .text
89-
90- public fun getImages (): List <ImageSegment > = this .images
91-
92- public fun getMFaces (): List <MFaceSegment > = this .mFaces
93-
94- public fun getMFace (): MFaceSegment ? = this .mFace
95-
96- public fun getFaces (): List <FaceSegment > = this .faces
97-
98- public fun filterAndSerializeJvm (type : SegmentType ): List <MessageSegment > = this .filterAndSerialize(type)
99-
100- public fun toPlainTextJvm (): String = this .text
10182}
10283
10384@Serializable
@@ -111,7 +92,7 @@ public data class GroupMessage(
11192 * 群聊发送者
11293 */
11394 var sender : GroupSender ,
114- override var sessionId : Uuid ? = null
95+ override var sessionId : Uuid ? = null ,
11596) : GroupMessageActionable, BaseMessage(), IGroupMessage {
11697 @Transient
11798 lateinit var action: OneBotAction
@@ -247,6 +228,18 @@ public data class GroupMessage(
247228 }
248229 return this .action.sendGroupMessage(groupId, msg)
249230 }
231+
232+ /* *
233+ * 将消息序列化
234+ */
235+ override fun serialize (): List <MessageSegment > = message.serialize()
236+
237+ /* *
238+ * 强制将当前消息作为合并转发消息解析,
239+ * 如果消息并非合并转发消息则会抛出序列化异常
240+ */
241+ override suspend fun resolveForwardMessage (): ForwardMessage .ForwardMessage ? =
242+ action.getForwardMessage(message.first { it.type == SegmentType .forward }.data.id ? : return null )
250243}
251244
252245@Serializable
@@ -255,7 +248,7 @@ public data class PrivateMessage(
255248 * 私聊发送者
256249 */
257250 val sender : PrivateSender ,
258- override var sessionId : Uuid ? = null
251+ override var sessionId : Uuid ? = null ,
259252) : MessageActionable, BaseMessage(), IPrivateMessage {
260253
261254 @Transient
@@ -384,6 +377,18 @@ public data class PrivateMessage(
384377 }
385378 return this .action.sendPrivateMessage(userId, msg)
386379 }
380+
381+ /* *
382+ * 将消息序列化
383+ */
384+ override fun serialize (): List <MessageSegment > = message.serialize()
385+
386+ /* *
387+ * 强制将当前消息作为合并转发消息解析,
388+ * 如果消息并非合并转发消息则会抛出序列化异常
389+ */
390+ override suspend fun resolveForwardMessage (): ForwardMessage .ForwardMessage ? =
391+ action.getForwardMessage(message.first { it.type == SegmentType .forward }.data.id ? : return null )
387392}
388393
389394/* *
@@ -410,7 +415,8 @@ internal val BaseMessage.command get() = this.first.split(" ").first()
410415 * 快速从一个数组消息中获取所有的文字部分
411416 * 返回一个字符串列表
412417 */
413- public val BaseMessage .texts: List <String > get() = this .message.filter { it.type == SegmentType .text }.mapNotNull { it.data.text }
418+ public val BaseMessage .texts: List <String >
419+ get() = this .message.filter { it.type == SegmentType .text }.mapNotNull { it.data.text }
414420
415421
416422/* *
0 commit comments