MessageSourceBuilder

open class MessageSourceBuilder

离线消息源构建器.

参数

一个 OfflineMessageSource 需要以下参数:

性质

  • 当两个消息的元数据相同时, 它们在群中会是同一条消息. 可通过此特性决定官方客户端 "定位原消息" 的目标

  • 发送人的信息和消息内容会在官方客户端显示在引用回复中.

实例

Kotlin:

bot.buildMessageSource(MessageSourceKind.GROUP) {
from(bot)
target(target)
metadata(source) // 从另一个消息源复制 ids, internalIds, time

time(System.currentTimeMillis())
// 也可以不设置 time, 则会使用当前系统时间

messages { // 指定消息内容
+"hi"
}

messages(messageChain) // 也可以赋值一个 MessageChain
}

Kotlin 也可以使用

Java:

new MessageSourceBuilder()
.from(bot)
.target(target)
.metadata(source) // 从另一个消息源复制 ids, internalIds, time
.time(System.currentTimeMillis()) // 也可以不设置, 则会使用当前系统时间
.messages(new PlainText("hi"))
.build(botId, MessageSourceKind.FRIEND);

See also

Constructors

Link copied to clipboard
fun MessageSourceBuilder()

Functions

Link copied to clipboard
fun allFrom(source: MessageSource): MessageSourceBuilder

从另一个 MessageSource 复制所有信息, 包括消息内容. 不会清空已有消息.

Link copied to clipboard
fun build(botId: Long, kind: MessageSourceKind): OfflineMessageSource
Link copied to clipboard
fun clearMessages(): MessageSourceBuilder
Link copied to clipboard
fun id(vararg value: Int): MessageSourceBuilder
fun id(from: MessageSource): MessageSourceBuilder
Link copied to clipboard
fun internalId(vararg value: Int): MessageSourceBuilder
fun internalId(from: MessageSource): MessageSourceBuilder
Link copied to clipboard
fun messages(vararg message: Message): MessageSourceBuilder
fun messages(messages: Iterable<Message>): MessageSourceBuilder

添加消息. 不会清空已有消息.

inline fun messages(block: MessageChainBuilder.() -> Unit): MessageSourceBuilder
Link copied to clipboard
fun messagesFrom(source: MessageSource): MessageSourceBuilder

从另一个 MessageSource 复制 消息内容. 不会清空已有消息.

Link copied to clipboard
fun metadata(from: MessageSource): MessageSourceBuilder

从另一个 MessageSource 复制 ids, time, internalIds. 这三个数据决定官方客户端能 "定位" 到的原消息

Link copied to clipboard
fun sender(uin: Long): MessageSourceBuilder

设置发信人. 需使用 uin.

fun sender(sender: ContactOrBot): MessageSourceBuilder

设置发信人.

Link copied to clipboard
fun setSenderAndTarget(sender: ContactOrBot, target: ContactOrBot): MessageSourceBuilder

同时设置 sendertarget

Link copied to clipboard
fun target(uin: Long): MessageSourceBuilder

设置发信目标. 需使用 uin.

fun target(target: ContactOrBot): MessageSourceBuilder

设置发信目标

Link copied to clipboard
fun time(value: Int): MessageSourceBuilder
fun time(from: MessageSource): MessageSourceBuilder

Properties

Link copied to clipboard
open var fromId: Long = 0
Link copied to clipboard
open var ids: IntArray
Link copied to clipboard
open var internalIds: IntArray
Link copied to clipboard
open var targetId: Long = 0
Link copied to clipboard
open var time: Int

seconds

Inheritors

Link copied to clipboard