AbstractImage |
所有 Image 实现的基类. sealed class |
At |
At 一个群成员. 只能发送给一个群. data class At : MessageContent |
AtAll |
"@全体成员". object AtAll : Key<AtAll>, MessageContent |
ConstrainSingle |
约束一个 MessageChain 中只存在这一种类型的元素. 新元素将会替换旧元素, 保持原顺序. interface ConstrainSingle<out M : Message> : MessageMetadata |
CustomMessage |
自定义消息 sealed class CustomMessage : SingleMessage |
CustomMessageMetadata |
自定义消息元数据. abstract class CustomMessageMetadata : CustomMessage, MessageMetadata |
EmptyMessageChain |
不含任何元素的 MessageChain. object EmptyMessageChain : MessageChain, Iterator<SingleMessage> |
Face |
QQ 自带表情 data class Face : MessageContent |
FlashImage |
闪照 sealed class FlashImage : MessageContent, HummerMessage |
ForwardMessage |
合并转发消息 class ForwardMessage : MessageContent |
ForwardMessageBuilder |
转发消息 DSL 构建器. class ForwardMessageBuilder : MutableList<INode> |
FriendFlashImage |
data class FriendFlashImage : FlashImage |
FriendImage |
好友图片 sealed class FriendImage : AbstractImage |
GroupFlashImage |
data class GroupFlashImage : FlashImage |
GroupImage |
群图片. sealed class GroupImage : AbstractImage |
HummerMessage |
一些特殊的消息 sealed class HummerMessage : MessageContent |
Image |
自定义表情 (收藏的表情) 和普通图片. interface Image : Message, MessageContent |
JsonMessage |
Json 消息. class |
LightApp |
小程序, 如音乐分享. data class LightApp : RichMessage |
Message |
可发送的或从服务器接收的消息. 采用这样的消息模式是因为 QQ 的消息多元化, 一条消息中可包含 纯文本, 图片 等. interface Message |
MessageChain |
消息链. 空的实现为 EmptyMessageChain interface MessageChain : Message, Iterable<SingleMessage> |
MessageChainBuilder |
MessageChain 构建器. 多个连续的 String 会被连接为单个 PlainText 以优化性能. open class MessageChainBuilder : MutableList<SingleMessage>, Appendable |
MessageContent |
消息内容 interface MessageContent : SingleMessage |
MessageMetadata |
消息元数据, 即不含内容的元素. interface MessageMetadata : SingleMessage |
MessageSource |
消息源, 它存在于 MessageChain 中, 用于表示这个消息的来源. sealed class MessageSource : Message, MessageMetadata, ConstrainSingle<MessageSource> |
MessageSourceAmender |
仅于 copyAmend 中修改 MessageSource interface MessageSourceAmender |
MessageSourceBuilder |
abstract class MessageSourceBuilder |
NullMessageChain |
Null 的 MessageChain. 它不包含任何元素, 也没有创建任何 list. object |
OfflineFriendImage |
通过 Group.uploadImage 上传得到的 GroupImage. 它的链接需要查询 Bot.queryImageUrl data class OfflineFriendImage : FriendImage, OfflineImage |
OfflineGroupImage |
通过 Group.uploadImage 上传得到的 GroupImage. 它的链接需要查询 Bot.queryImageUrl data class OfflineGroupImage : GroupImage, OfflineImage |
OfflineImage |
离线的图片, 即为客户端主动上传到服务器而获得的 Image 实例. 不能直接获取它在服务器上的链接. 需要通过 Bot.queryImageUrl 查询 interface OfflineImage : Image |
OfflineMessageSource |
由一条消息中的 QuoteReply 得到的 MessageSource.
此消息源可能来自一条与机器人无关的消息. 因此无法提供对象化的 abstract class OfflineMessageSource : MessageSource |
OnlineFriendImage |
接收消息时获取到的 FriendImage. 它可以直接获取下载链接 originUrl abstract class OnlineFriendImage : FriendImage, OnlineImage |
OnlineGroupImage |
接收消息时获取到的 GroupImage. 它可以直接获取下载链接 originUrl abstract class OnlineGroupImage : GroupImage, OnlineImage |
OnlineImage |
在服务器上的图片. 它可以直接获取下载链接. interface OnlineImage : Image |
OnlineMessageSource |
在线消息的 MessageSource. 拥有对象化的 sender, target, 也可以直接 recall 和 quote sealed class OnlineMessageSource : MessageSource |
OrNullDelegate |
可空的委托 class OrNullDelegate<out R : Message?> |
PlainText |
纯文本. 可含 emoji 表情如 😊. data class PlainText : MessageContent |
PokeMessage |
戳一戳. 可以发送给好友或群. data class PokeMessage : HummerMessage |
QuoteReply |
引用回复. class QuoteReply : Message, MessageMetadata, ConstrainSingle<QuoteReply> |
RichMessage |
XML 消息等富文本消息 interface RichMessage : MessageContent |
ServiceMessage |
服务消息, 如 XmlMessage. open class ServiceMessage : RichMessage |
SingleMessage |
interface SingleMessage : Message |
VipFace |
VIP 表情. data class VipFace : HummerMessage |
XmlMessage |
XML 消息, 如分享, 卡片等. class |
XmlMessageBuilder |
class XmlMessageBuilder |
ForwardMessageDsl |
标记转发消息 DSL annotation class ForwardMessageDsl |
XmlMessageDsl |
annotation class XmlMessageDsl |
kotlin.collections.Collection |
|
kotlin.collections.Iterable |
|
kotlin.sequences.Sequence |
|
kotlin.String |
bot |
消息内部 id. 仅从服务器接收的消息才可以获取 val MessageChain.bot: Bot val QuoteReply.bot: Bot |
FRIEND_IMAGE_ID_REGEX_1 |
好友图片 ID 正则表达式 val FRIEND_IMAGE_ID_REGEX_1: Regex |
FRIEND_IMAGE_ID_REGEX_2 |
好友图片 ID 正则表达式 2 val FRIEND_IMAGE_ID_REGEX_2: Regex |
fromId |
val QuoteReply.fromId: Long |
GROUP_IMAGE_ID_REGEX |
群图片 ID 正则表达式 val GROUP_IMAGE_ID_REGEX: Regex |
GROUP_IMAGE_ID_REGEX_OLD |
在 val |
id |
消息 id. 仅从服务器接收的消息才可以获取 val MessageChain.id: Int val QuoteReply.id: Int |
internalId |
消息内部 id. 仅从服务器接收的消息才可以获取 val MessageChain.internalId: Int val QuoteReply.internalId: Int |
md5 |
val Image.md5: ByteArray |
originalMessage |
val QuoteReply.originalMessage: MessageChain |
source |
获取这条消息源 仅从服务器接收的消息才可以获取消息源 val MessageChain.source: MessageSource |
targetId |
val QuoteReply.targetId: Long |
time |
消息时间. 仅从服务器接收的消息才可以获取 val MessageChain.time: Int val QuoteReply.time: Int |
_____newChain______ |
构造一个 MessageChain 为提供更好的 Java API. fun _____newChain______(vararg messages: Message): MessageChain fun _____newChain______(messages: String): MessageChain |
allContent |
fun MessageChain.allContent(block: (MessageContent) -> Boolean): Boolean |
any |
fun <M : Message> MessageChain.any(key: Key<M>): Boolean |
anyIsInstance |
fun <M : Message> MessageChain.anyIsInstance(): Boolean |
asMessageChain |
得到包含 this 的 MessageChain. fun Message.asMessageChain(): MessageChain
直接将 this 委托为一个 MessageChain fun SingleMessage.asMessageChain(): MessageChain fun MessageChain.asMessageChain(): MessageChain |
at |
At 这个成员 fun Member.at(): At |
buildForwardMessage |
构造一条 ForwardMessage fun buildForwardMessage(context: Contact, displayStrategy: DisplayStrategy = DisplayStrategy, block: ForwardMessageBuilder.() -> Unit): ForwardMessage
使用 DSL 构建一个 ForwardMessage. fun ContactMessage.buildForwardMessage(context: Contact = this.subject, displayStrategy: DisplayStrategy = DisplayStrategy, block: ForwardMessageBuilder.() -> Unit): ForwardMessage |
buildMessageChain |
构建一个 MessageChain fun buildMessageChain(block: MessageChainBuilder.() -> Unit): MessageChain
使用特定的容器大小构建一个 MessageChain fun buildMessageChain(initialSize: Int, block: MessageChainBuilder.() -> Unit): MessageChain |
buildMessageSource |
构建一个 OfflineMessageSource fun Bot.buildMessageSource(block: MessageSourceBuilder.() -> Unit): MessageSource |
buildXmlMessage |
构造一条 XML 消息 fun buildXmlMessage(serviceId: Int, block: XmlMessageBuilder.() -> Unit): ServiceMessage fun |
copyAmend |
复制这个消息源, 并以 block 修改 fun MessageSource.copyAmend(block: MessageSourceAmender.() -> Unit): OfflineMessageSource |
first |
fun <M : Message> MessageChain.first(key: Key<M>): M |
firstIsInstance |
fun <M : Message> MessageChain.firstIsInstance(): M |
firstIsInstanceOrNull |
fun <M : Message?> MessageChain.firstIsInstanceOrNull(): M? |
firstOrNull |
fun <M : Message> MessageChain.firstOrNull(key: Key<M>): M? |
flash |
fun Image.flash(): FlashImage fun GroupImage.flash(): GroupFlashImage fun FriendImage.flash(): FriendFlashImage |
flash2 |
fun Image. fun GroupImage. fun FriendImage. |
flatten |
扁平化 Message fun Message.flatten(): Sequence<SingleMessage> fun MessageChain.flatten(): Sequence<SingleMessage> |
forEachContent |
遍历每一个 消息内容 fun MessageChain.forEachContent(block: (MessageContent) -> Unit): Unit |
foreachContent |
fun MessageChain. |
getValue |
提供一个类型的值的委托. 若不存在则会抛出异常 NoSuchElementException operator fun <T : Message> MessageChain.getValue(thisRef: Any?, property: KProperty<*>): T |
Image |
通过 Image.imageId 构造一个 Image 以便发送. 这个图片必须是服务器已经存在的图片. 图片 id 不一定会长时间保存, 因此不建议使用 id 发送图片. fun Image(imageId: String): OfflineImage |
Image2 |
fun |
isAboutFriend |
判断是否是发送给好友, 或从好友接收的消息的消息源 fun MessageSource.isAboutFriend(): Boolean |
isAboutGroup |
判断是否是发送给群, 或从群接收的消息的消息源 fun MessageSource.isAboutGroup(): Boolean |
isAboutTemp |
判断是否是发送给临时会话, 或从临时会话接收的消息的消息源 fun MessageSource.isAboutTemp(): Boolean |
isContentEmpty |
判断消息内容是否为空. fun Message.isContentEmpty(): Boolean |
isContentNotEmpty |
fun Message.isContentNotEmpty(): Boolean |
isNotPlain |
fun Message.isNotPlain(): Boolean |
isNotPlain2 |
fun Message. |
isPlain |
fun Message.isPlain(): Boolean |
isPlain2 |
fun Message. |
noneContent |
如果每一个 消息内容 都不满足 block, 返回 fun MessageChain.noneContent(block: (MessageContent) -> Boolean): Boolean |
orElse |
提供一个类型的 Message 的委托, 若不存在这个类型的 Message 则委托会提供 fun <T : Message?> MessageChain.orElse(lazyDefault: () -> T): OrNullDelegate<T> |
orNull |
提供一个类型的 Message 的委托, 若不存在这个类型的 Message 则委托会提供 fun <T : Message> MessageChain.orNull(): OrNullDelegate<T?> |
queryUrl |
查询原图下载链接. suspend fun Image.queryUrl(): String
原图下载链接. 包含域名 suspend fun OfflineImage.queryUrl(): String |
quote |
引用这条消息 fun MessageSource.quote(): QuoteReply fun MessageChain.quote(): QuoteReply |
recall |
撤回这条消息. 可撤回自己 2 分钟内发出的消息, 和任意时间的群成员的消息. suspend fun MessageSource.recall(): Unit suspend fun MessageChain.recall(): Unit suspend fun QuoteReply.recall(): Unit |
recallIn |
在一段时间后撤回这条消息. 可撤回自己 2 分钟内发出的消息, 和任意时间的群成员的消息. fun MessageSource.recallIn(timeMillis: Long, coroutineContext: CoroutineContext = EmptyCoroutineContext): Job fun MessageChain.recallIn(millis: Long, coroutineContext: CoroutineContext = EmptyCoroutineContext): Job
在一段时间后撤回这条消息. fun QuoteReply.recallIn(millis: Long, coroutineContext: CoroutineContext = EmptyCoroutineContext): Job |
repeat |
fun Message.repeat(count: Int): MessageChain |
repeat2 |
fun Message. |
sendTo |
suspend fun <C : Contact> Message.sendTo(contact: C): MessageReceipt<C>
将 this 发送给指定联系人 suspend fun <C : Contact> MessageChain.sendTo(contact: C): MessageReceipt<C> |
times |
operator fun Message.times(count: Int): MessageChain |
toForwardMessage |
转换为 ForwardMessage fun Message.toForwardMessage(sender: User, time: Int = currentTimeSeconds.toInt(), displayStrategy: DisplayStrategy = DisplayStrategy): ForwardMessage fun Message.toForwardMessage(senderId: Long, senderName: String, time: Int = currentTimeSeconds.toInt(), displayStrategy: DisplayStrategy = DisplayStrategy): ForwardMessage |
toOffline |
将在线消息源转换为离线消息源. fun OnlineMessageSource.toOffline(): OfflineMessageSource |