MessageSourceBuilder
离线消息源构建器.
参数
一个 OfflineMessageSource 需要以下参数:
发送人和发送目标: 通过 MessageSourceBuilder.sender, MessageSourceBuilder.target 设置
消息元数据 (即 MessageSource.ids, MessageSource.internalIds, MessageSource.time) 元数据用于 撤回, 引用回复, 和官方客户端定位原消息. 可通过 MessageSourceBuilder.ids, MessageSourceBuilder.time, MessageSourceBuilder.internalIds 设置 可通过 MessageSourceBuilder.metadata 从另一个 MessageSource 复制
消息内容: 通过 MessageSourceBuilder.messages 设置
性质
当两个消息的元数据相同时, 它们在群中会是同一条消息. 可通过此特性决定官方客户端 "定位原消息" 的目标
发送人的信息和消息内容会在官方客户端显示在引用回复中.
实例
Kotlin:
bot.buildMessageSource(MessageSourceKind.GROUP) {
from(bot)
target(target)
metadata(source) // 从另一个消息源复制 ids, internalIds, time
time(System.currentTimeMillis())
// 也可以不设置 time, 则会使用当前系统时间
messages { // 指定消息内容
+"hi"
}
messages(messageChain) // 也可以赋值一个 MessageChain
}
Content copied to clipboard
Kotlin 也可以使用
Java:
new MessageSourceBuilder()
.from(bot)
.target(target)
.metadata(source) // 从另一个消息源复制 ids, internalIds, time
.time(System.currentTimeMillis()) // 也可以不设置, 则会使用当前系统时间
.messages(new PlainText("hi"))
.build(botId, MessageSourceKind.FRIEND);
Content copied to clipboard
See also
Constructors
MessageSourceBuilder
Link copied to clipboard
Functions
allFrom
Link copied to clipboard
从另一个 MessageSource 复制所有信息, 包括消息内容. 不会清空已有消息.
build
Link copied to clipboard
构建生成 OfflineMessageSource
clearMessages
Link copied to clipboard
id
Link copied to clipboard
internalId
Link copied to clipboard
messages
Link copied to clipboard
添加消息. 不会清空已有消息.
inline fun messages(block: MessageChainBuilder.() -> Unit): MessageSourceBuilder
Content copied to clipboard
messagesFrom
Link copied to clipboard
从另一个 MessageSource 复制 消息内容. 不会清空已有消息.
metadata
Link copied to clipboard
从另一个 MessageSource 复制 ids, time, internalIds. 这三个数据决定官方客户端能 "定位" 到的原消息
sender
Link copied to clipboard
设置发信人. 需使用 uin.
设置发信人.
setSenderAndTarget
Link copied to clipboard
fun setSenderAndTarget(sender: ContactOrBot, target: ContactOrBot): MessageSourceBuilder
Content copied to clipboard
target
Link copied to clipboard
设置发信目标. 需使用 uin.
设置发信目标
time
Link copied to clipboard
Properties
Inheritors
MessageSourceAmender
Link copied to clipboard