ContactMessage |
一条消息事件. 它是一个 BotEvent, 因此可以被 监听 abstract class ContactMessage : MessagePacket<User, Contact>, BotEvent |
FriendMessage |
好友消息 class FriendMessage : ContactMessage, BroadcastControllable |
GroupMessage |
class GroupMessage : ContactMessage, Event |
MessagePacket |
一条从服务器接收到的消息事件.
请查看各平台的 abstract class |
MessagePacketBase |
仅内部使用, 请使用 ContactMessage abstract class |
MessageReceipt |
发送消息后得到的回执. 可用于撤回. open class MessageReceipt<out C : Contact> |
MessageType |
enum class MessageType |
TempMessage |
临时会话消息 class TempMessage : ContactMessage, BroadcastControllable |
java.awt.image.BufferedImage |
|
java.io.File |
|
java.io.InputStream |
|
java.net.URL |
|
kotlinx.io.core.Input |
sourceId |
获取源消息 MessageSource.id val MessageReceipt<*>.sourceId: Int |
sourceTime |
获取源消息 MessageSource.time val MessageReceipt<*>.sourceTime: Int |
isContextIdenticalWith |
判断两个 MessagePacket 的 MessagePacket.sender 和 MessagePacket.subject 是否相同 fun ContactMessage.isContextIdenticalWith(another: ContactMessage): Boolean fun MessagePacket<*, *>. |
nextMessage |
挂起当前协程, 等待下一条 MessagePacket.sender 和 MessagePacket.subject 与 this 相同且通过 筛选 的 MessagePacket suspend fun <P : ContactMessage> P.nextMessage(timeoutMillis: Long = -1, filter: suspend P.(P) -> Boolean): MessageChain
挂起当前协程, 等待下一条 MessagePacket.sender 和 MessagePacket.subject 与 this 相同的 MessagePacket suspend fun <P : ContactMessage> P.nextMessage(timeoutMillis: Long = -1): MessageChain |
nextMessageAsync |
fun <P : ContactMessage> P.nextMessageAsync(timeoutMillis: Long = -1, coroutineContext: CoroutineContext = EmptyCoroutineContext): Deferred<MessageChain> fun <P : ContactMessage> P.nextMessageAsync(timeoutMillis: Long = -1, coroutineContext: CoroutineContext = EmptyCoroutineContext, filter: suspend P.(P) -> Boolean): Deferred<MessageChain> |
nextMessageContaining |
挂起当前协程, 等待下一条 MessagePacket.sender 和 MessagePacket.subject 与 this 相同的 MessagePacket suspend fun <M : Message> ContactMessage.nextMessageContaining(timeoutMillis: Long = -1): M |
nextMessageContainingAsync |
fun <M : Message> ContactMessage.nextMessageContainingAsync(timeoutMillis: Long = -1, coroutineContext: CoroutineContext = EmptyCoroutineContext): Deferred<M> |
nextMessageContainingOrNull |
挂起当前协程, 等待下一条 MessagePacket.sender 和 MessagePacket.subject 与 this 相同并含有 M 类型的消息的 MessagePacket suspend fun <M : Message> ContactMessage.nextMessageContainingOrNull(timeoutMillis: Long = -1): M? |
nextMessageContainingOrNullAsync |
fun <M : Message> ContactMessage.nextMessageContainingOrNullAsync(timeoutMillis: Long = -1, coroutineContext: CoroutineContext = EmptyCoroutineContext): Deferred<M?> |
nextMessageOrNull |
挂起当前协程, 等待下一条 MessagePacket.sender 和 MessagePacket.subject 与 this 相同且通过 筛选 的 MessagePacket suspend fun <P : ContactMessage> P.nextMessageOrNull(timeoutMillis: Long = -1, filter: suspend P.(P) -> Boolean): MessageChain?
挂起当前协程, 等待下一条 MessagePacket.sender 和 MessagePacket.subject 与 this 相同的 MessagePacket suspend fun <P : ContactMessage> P.nextMessageOrNull(timeoutMillis: Long = -1): MessageChain? |
nextMessageOrNullAsync |
fun <P : ContactMessage> P.nextMessageOrNullAsync(timeoutMillis: Long = -1, coroutineContext: CoroutineContext = EmptyCoroutineContext): Deferred<MessageChain?> |
quote |
引用这条消息. fun MessageReceipt<*>.quote(): QuoteReply |
quoteReply |
引用这条消息并回复. suspend fun <C : Contact> MessageReceipt<C>.quoteReply(message: Message): MessageReceipt<C> suspend fun <C : Contact> MessageReceipt<C>.quoteReply(message: String): MessageReceipt<C> |
recall |
撤回这条消息. recall 或 recallIn 只能被调用一次. suspend fun MessageReceipt<*>.recall(): Unit |
recallIn |
在一段时间后撤回这条消息. recall 或 recallIn 只能被调用一次. fun MessageReceipt<*>.recallIn(timeMillis: Long, coroutineContext: CoroutineContext = EmptyCoroutineContext): Job |
sendImage |
在 Dispatchers.IO 中将图片发送到指定联系人. 不会保存临时文件 suspend fun <C : Contact> C.sendImage(bufferedImage: BufferedImage): MessageReceipt<C>
在 Dispatchers.IO 中下载 URL 到临时文件并将其作为图片发送到指定联系人 suspend fun <C : Contact> C.sendImage(imageUrl: URL): MessageReceipt<C>
在 Dispatchers.IO 中读取 Input 到临时文件并将其作为图片发送到指定联系人 suspend fun <C : Contact> C.sendImage(imageInput: Input): MessageReceipt<C>
在 Dispatchers.IO 中读取 InputStream 到临时文件并将其作为图片发送到指定联系人 suspend fun <C : Contact> C.sendImage(imageStream: InputStream): MessageReceipt<C>
在 Dispatchers.IO 中将文件作为图片发送到指定联系人 suspend fun <C : Contact> C.sendImage(file: File): MessageReceipt<C> |
uploadImage |
在 Dispatchers.IO 中将图片上传, 但不发送. 不会保存临时文件 suspend fun Contact.uploadImage(bufferedImage: BufferedImage): OfflineImage
在 Dispatchers.IO 中下载 URL 到临时文件并将其作为图片上传, 但不发送 suspend fun Contact.uploadImage(imageUrl: URL): OfflineImage
在 Dispatchers.IO 中读取 Input 到临时文件并将其作为图片上传, 但不发送 suspend fun Contact.uploadImage(imageInput: Input): OfflineImage
在 Dispatchers.IO 中读取 InputStream 到临时文件并将其作为图片上传, 但不发送 suspend fun Contact.uploadImage(imageStream: InputStream): OfflineImage
在 Dispatchers.IO 中将文件作为图片上传, 但不发送 suspend fun Contact.uploadImage(file: File): OfflineImage |