mirror of
https://github.com/mamoe/mirai.git
synced 2025-04-14 23:20:49 +08:00
Add ForwardMessageBuilder.toRawForwardMessage
and make RawForwardMessage
stable (#1162)
* Add `ForwardMessageBuilder.toRawForwardMessage` and make RawForwardMessage stable. * apiDump
This commit is contained in:
parent
21e8852e0f
commit
45aca5f37d
binary-compatibility-validator
mirai-core-api/src/commonMain/kotlin/message/data
@ -4301,6 +4301,7 @@ public final class net/mamoe/mirai/message/data/ForwardMessageBuilder : java/uti
|
||||
public fun subList (II)Ljava/util/List;
|
||||
public fun toArray ()[Ljava/lang/Object;
|
||||
public fun toArray ([Ljava/lang/Object;)[Ljava/lang/Object;
|
||||
public final fun toRawForwardMessage ()Lnet/mamoe/mirai/message/data/RawForwardMessage;
|
||||
}
|
||||
|
||||
public final class net/mamoe/mirai/message/data/ForwardMessageBuilder$BuilderNode : net/mamoe/mirai/message/data/ForwardMessage$INode {
|
||||
|
@ -4301,6 +4301,7 @@ public final class net/mamoe/mirai/message/data/ForwardMessageBuilder : java/uti
|
||||
public fun subList (II)Ljava/util/List;
|
||||
public fun toArray ()[Ljava/lang/Object;
|
||||
public fun toArray ([Ljava/lang/Object;)[Ljava/lang/Object;
|
||||
public final fun toRawForwardMessage ()Lnet/mamoe/mirai/message/data/RawForwardMessage;
|
||||
}
|
||||
|
||||
public final class net/mamoe/mirai/message/data/ForwardMessageBuilder$BuilderNode : net/mamoe/mirai/message/data/ForwardMessage$INode {
|
||||
|
@ -31,7 +31,6 @@ import net.mamoe.mirai.utils.toLongUnsigned
|
||||
* [RawForwardMessage] 可以序列化保存, 也可以被多次[渲染][RawForwardMessage.render]产生不同格式的 [ForwardMessage].
|
||||
*/
|
||||
@Serializable
|
||||
@MiraiExperimentalApi
|
||||
public data class RawForwardMessage(
|
||||
/**
|
||||
* 消息列表
|
||||
@ -745,16 +744,18 @@ public class ForwardMessageBuilder private constructor(
|
||||
|
||||
// endregion
|
||||
|
||||
/**
|
||||
* 构造 [RawForwardMessage]. [RawForwardMessage] 可以被多个 [DisplayStrategy] [渲染][RawForwardMessage.render].
|
||||
* @since 2.6
|
||||
*/
|
||||
public fun toRawForwardMessage(): RawForwardMessage = RawForwardMessage(container.map {
|
||||
ForwardMessage.Node(it.senderId, it.time, it.senderName, it.messageChain)
|
||||
})
|
||||
|
||||
/** 构造 [ForwardMessage] */
|
||||
public fun build(): ForwardMessage = RawForwardMessage(container.map {
|
||||
ForwardMessage.Node(
|
||||
it.senderId,
|
||||
it.time,
|
||||
it.senderName,
|
||||
it.messageChain
|
||||
)
|
||||
}).render(this.displayStrategy)
|
||||
/**
|
||||
* 使用 [displayStrategy] 渲染并构造可以发送的 [ForwardMessage].
|
||||
*/
|
||||
public fun build(): ForwardMessage = toRawForwardMessage().render(this.displayStrategy)
|
||||
|
||||
internal fun Bot.smartName(): String = when (val c = this@ForwardMessageBuilder.context) {
|
||||
is Group -> c.botAsMember.nameCardOrNick
|
||||
|
Loading…
Reference in New Issue
Block a user