Forráskód Böngészése

Add ForwardMessageBuilder.add(MessageEvent)

Him188 5 éve
szülő
commit
66ae897f20

+ 1 - 0
binary-compatibility-validator/api/binary-compatibility-validator.api

@@ -4093,6 +4093,7 @@ public final class net/mamoe/mirai/message/data/ForwardMessageBuilder : java/uti
 	public synthetic fun add (ILjava/lang/Object;)V
 	public fun add (ILnet/mamoe/mirai/message/data/ForwardMessage$INode;)V
 	public synthetic fun add (Ljava/lang/Object;)Z
+	public final fun add (Lnet/mamoe/mirai/event/events/MessageEvent;)Lnet/mamoe/mirai/message/data/ForwardMessageBuilder;
 	public fun add (Lnet/mamoe/mirai/message/data/ForwardMessage$INode;)Z
 	public fun addAll (ILjava/util/Collection;)Z
 	public fun addAll (Ljava/util/Collection;)Z

+ 16 - 0
mirai-core-api/src/commonMain/kotlin/message/data/ForwardMessage.kt

@@ -559,6 +559,22 @@ public class ForwardMessageBuilder private constructor(
     @ForwardMessageDsl
     public infix fun User.named(name: String): BuilderNode = this.id.named(name)
 
+    @Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
+    @kotlin.internal.LowPriorityInOverloadResolution // due to inference problem, `add(MessageEvent)` results in resolution ambiguity
+    override fun add(element: ForwardMessage.INode): Boolean = container.add(element)
+
+    /**
+     * 从消息事件添加一个消息
+     *
+     * `event.sender named event.senderName at event.time says event.message`
+     *
+     * @since 2.1
+     */
+    @ForwardMessageDsl
+    public fun add(event: MessageEvent): ForwardMessageBuilder {
+        return event.sender named event.senderName at event.time says event.message
+    }
+
     // endregion
 
     /** 构造 [ForwardMessage] */