MessageSelectBuilderUnit

expect abstract class MessageSelectBuilderUnit<M : MessageEvent, R> : CommonMessageSelectBuilderUnit<M, R>

selectMessagesUnitselectMessages 时的 DSL 构建器.

它是特殊化的消息监听 (EventChannel.subscribeMessages) DSL

actual abstract class MessageSelectBuilderUnit<M : MessageEvent, R> : CommonMessageSelectBuilderUnit<M, R>

selectMessagesUnitselectMessages 时的 DSL 构建器.

它是特殊化的消息监听 (EventChannel.subscribeMessages) DSL

actual abstract class MessageSelectBuilderUnit<M : MessageEvent, R> : CommonMessageSelectBuilderUnit<M, R>

selectMessagesUnitselectMessages 时的 DSL 构建器.

它是特殊化的消息监听 (EventChannel.subscribeMessages) DSL

See also

Functions

Link copied to clipboard
fun at(target: Long): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun at(target: User): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容包含目标为 targetAt

fun at(target: Long): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容包含目标为 targetAt

fun at(target: User): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容包含目标为 targetAt

fun at(target: Long): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容包含目标为 targetAt

fun at(target: User): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容包含目标为 targetAt

Link copied to clipboard
fun atAll(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun atAll(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun atAll(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
Link copied to clipboard
fun atBot(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容包含目标为 BotAt

fun atBot(onEvent: suspend M.(String) -> R)

消息内容包含目标为 BotAt, 就执行 onEvent

fun atBot(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容包含目标为 BotAt

fun atBot(onEvent: suspend M.(String) -> R)

消息内容包含目标为 BotAt, 就执行 onEvent

fun atBot(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容包含目标为 BotAt

fun atBot(onEvent: suspend M.(String) -> R)

消息内容包含目标为 BotAt, 就执行 onEvent

Link copied to clipboard
fun case(    equals: String,     ignoreCase: Boolean = false,     trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun case(    equals: String,     ignoreCase: Boolean = false,     trim: Boolean = true,     onEvent: MessageListener<M, R>)
fun case(    equals: String,     ignoreCase: Boolean = false,     trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun case(    equals: String,     ignoreCase: Boolean = false,     trim: Boolean = true,     onEvent: MessageListener<M, R>)
fun case(    equals: String,     ignoreCase: Boolean = false,     trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun case(    equals: String,     ignoreCase: Boolean = false,     trim: Boolean = true,     onEvent: MessageListener<M, R>)
Link copied to clipboard
fun contains(sub: String, ignoreCase: Boolean = false): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun contains(    sub: String,     ignoreCase: Boolean = false,     trim: Boolean = true,     onEvent: MessageListener<M, R>)

消息内容包含 sub 中的任意一个元素

fun contains(sub: String, ignoreCase: Boolean = false): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun contains(    sub: String,     ignoreCase: Boolean = false,     trim: Boolean = true,     onEvent: MessageListener<M, R>)

消息内容包含 sub 中的任意一个元素

fun contains(sub: String, ignoreCase: Boolean = false): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun contains(    sub: String,     ignoreCase: Boolean = false,     trim: Boolean = true,     onEvent: MessageListener<M, R>)

消息内容包含 sub 中的任意一个元素

Link copied to clipboard
fun containsAll(    vararg sub: String,     ignoreCase: Boolean = false,     trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun containsAll(    vararg sub: String,     ignoreCase: Boolean = false,     trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun containsAll(    vararg sub: String,     ignoreCase: Boolean = false,     trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
Link copied to clipboard
fun containsAny(    vararg sub: String,     ignoreCase: Boolean = false,     trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun containsAny(    vararg sub: String,     ignoreCase: Boolean = false,     trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun containsAny(    vararg sub: String,     ignoreCase: Boolean = false,     trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
Link copied to clipboard
open infix fun String.containsReply(reply: String)

消息内容包含 this 则回复 reply

open infix fun String.containsReply(replier: suspend M.(String) -> Any?)

消息内容包含 this 则执行 replier 并将其返回值回复给发信对象.

open infix fun String.containsReply(reply: String)

消息内容包含 this 则回复 reply

open infix fun String.containsReply(replier: suspend M.(String) -> Any?)

消息内容包含 this 则执行 replier 并将其返回值回复给发信对象.

open infix fun String.containsReply(reply: String)

消息内容包含 this 则回复 reply

open infix fun String.containsReply(replier: suspend M.(String) -> Any?)

消息内容包含 this 则执行 replier 并将其返回值回复给发信对象.

Link copied to clipboard
fun content(filter: M.(String) -> Boolean): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果 filter 返回 true

fun content(filter: M.(String) -> Boolean): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果 filter 返回 true

fun content(filter: M.(String) -> Boolean): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果 filter 返回 true

Link copied to clipboard
abstract fun default(onEvent: MessageListener<M, R>)

当其他条件都不满足时的默认处理.

abstract fun default(onEvent: MessageListener<M, R>)

当其他条件都不满足时的默认处理.

abstract fun default(onEvent: MessageListener<M, R>)

当其他条件都不满足时的默认处理.

Link copied to clipboard
fun defaultQuoteReply(block: suspend () -> Any?)

当其他条件都不满足时引用回复原消息.

fun defaultQuoteReply(block: suspend () -> Any?)

当其他条件都不满足时引用回复原消息.

fun defaultQuoteReply(block: suspend () -> Any?)

当其他条件都不满足时引用回复原消息.

Link copied to clipboard
fun defaultReply(block: suspend () -> Any?)

当其他条件都不满足时回复原消息.

fun defaultReply(block: suspend () -> Any?)

当其他条件都不满足时回复原消息.

fun defaultReply(block: suspend () -> Any?)

当其他条件都不满足时回复原消息.

Link copied to clipboard
fun endsWith(suffix: String, trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果消息的结尾是 suffix

fun endsWith(    suffix: String,     removeSuffix: Boolean = true,     trim: Boolean = true,     onEvent: suspend M.(String) -> R)

如果消息的结尾是 suffix

fun endsWith(suffix: String, trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果消息的结尾是 suffix

fun endsWith(    suffix: String,     removeSuffix: Boolean = true,     trim: Boolean = true,     onEvent: suspend M.(String) -> R)

如果消息的结尾是 suffix

fun endsWith(suffix: String, trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果消息的结尾是 suffix

fun endsWith(    suffix: String,     removeSuffix: Boolean = true,     trim: Boolean = true,     onEvent: suspend M.(String) -> R)

如果消息的结尾是 suffix

Link copied to clipboard
open infix fun String.endsWithReply(replier: suspend M.(String) -> Any?)

不考虑空格, 消息内容this 结尾则执行 replier 并将其返回值回复给发信对象.

open infix fun String.endsWithReply(replier: suspend M.(String) -> Any?)

不考虑空格, 消息内容this 结尾则执行 replier 并将其返回值回复给发信对象.

open infix fun String.endsWithReply(replier: suspend M.(String) -> Any?)

不考虑空格, 消息内容this 结尾则执行 replier 并将其返回值回复给发信对象.

Link copied to clipboard
fun finding(regex: Regex): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容可由正则表达式查找(Regex.find)

@JvmName(name = "findingExtension")
infix fun Regex.finding(block: suspend M.(MatchResult) -> R)

如果消息内容Regex.find 不为空

fun finding(regex: Regex, onEvent: suspend M.(MatchResult) -> Unit)

消息内容可由正则表达式查找(Regex.find), 就执行 onEvent

fun finding(regex: Regex): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容可由正则表达式查找(Regex.find)

@JvmName(name = "findingExtension")
infix fun Regex.finding(block: suspend M.(MatchResult) -> R)

如果消息内容Regex.find 不为空

fun finding(regex: Regex, onEvent: suspend M.(MatchResult) -> Unit)

消息内容可由正则表达式查找(Regex.find), 就执行 onEvent

fun finding(regex: Regex): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容可由正则表达式查找(Regex.find)

@JvmName(name = "findingExtension")
infix fun Regex.finding(block: suspend M.(MatchResult) -> R)

如果消息内容Regex.find 不为空

fun finding(regex: Regex, onEvent: suspend M.(MatchResult) -> Unit)

消息内容可由正则表达式查找(Regex.find), 就执行 onEvent

Link copied to clipboard
open infix fun Regex.findingReply(replier: suspend M.(MatchResult) -> Any?)

消息内容可由正则表达式查找(Regex.find), 则执行 replier 并将其返回值回复给发信对象.

open infix fun Regex.findingReply(replier: suspend M.(MatchResult) -> Any?)

消息内容可由正则表达式查找(Regex.find), 则执行 replier 并将其返回值回复给发信对象.

open infix fun Regex.findingReply(replier: suspend M.(MatchResult) -> Any?)

消息内容可由正则表达式查找(Regex.find), 则执行 replier 并将其返回值回复给发信对象.

Link copied to clipboard
inline fun <N : SingleMessage> has(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容包含 N 类型的 Message

inline fun <N : SingleMessage> has(noinline onEvent: suspend M.(N) -> R)
inline fun <N : SingleMessage> has(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容包含 N 类型的 Message

inline fun <N : SingleMessage> has(noinline onEvent: suspend M.(N) -> R)
inline fun <N : SingleMessage> has(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容包含 N 类型的 Message

inline fun <N : SingleMessage> has(noinline onEvent: suspend M.(N) -> R)
Link copied to clipboard
fun MessageSelectionTimeoutChecker.invoke(block: suspend () -> R)

返回一个限制本次 select 的最长等待时间的 Deferred

operator fun String.invoke(block: MessageListener<M, R>)
fun MessageSelectionTimeoutChecker.invoke(block: suspend () -> R)

返回一个限制本次 select 的最长等待时间的 Deferred

operator fun String.invoke(block: MessageListener<M, R>)
fun MessageSelectionTimeoutChecker.invoke(block: suspend () -> R)

返回一个限制本次 select 的最长等待时间的 Deferred

operator fun String.invoke(block: MessageListener<M, R>)
Link copied to clipboard
open fun <N : Any> mapping(mapper: M.(String) -> N?, onEvent: suspend M.(N) -> R)

如果 mapper 返回值非空, 就执行 onEvent

open fun <N : Any> mapping(mapper: M.(String) -> N?, onEvent: suspend M.(N) -> R)

如果 mapper 返回值非空, 就执行 onEvent

open fun <N : Any> mapping(mapper: M.(String) -> N?, onEvent: suspend M.(N) -> R)

如果 mapper 返回值非空, 就执行 onEvent

Link copied to clipboard
fun matching(regex: Regex): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容可由正则表达式匹配(Regex.matchEntire)

@JvmName(name = "matchingExtension")
infix fun Regex.matching(block: MessageListener<M, R>)
fun matching(regex: Regex, onEvent: suspend M.(MatchResult) -> Unit)

消息内容可由正则表达式匹配(Regex.matchEntire), 就执行 onEvent

fun matching(regex: Regex): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容可由正则表达式匹配(Regex.matchEntire)

@JvmName(name = "matchingExtension")
infix fun Regex.matching(block: MessageListener<M, R>)
fun matching(regex: Regex, onEvent: suspend M.(MatchResult) -> Unit)

消息内容可由正则表达式匹配(Regex.matchEntire), 就执行 onEvent

fun matching(regex: Regex): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

消息内容可由正则表达式匹配(Regex.matchEntire)

@JvmName(name = "matchingExtension")
infix fun Regex.matching(block: MessageListener<M, R>)
fun matching(regex: Regex, onEvent: suspend M.(MatchResult) -> Unit)

消息内容可由正则表达式匹配(Regex.matchEntire), 就执行 onEvent

Link copied to clipboard
open infix fun Regex.matchingReply(replier: suspend M.(MatchResult) -> Any?)

消息内容可由正则表达式匹配(Regex.matchEntire), 则执行 replier 并将其返回值回复给发信对象.

open infix fun Regex.matchingReply(replier: suspend M.(MatchResult) -> Any?)

消息内容可由正则表达式匹配(Regex.matchEntire), 则执行 replier 并将其返回值回复给发信对象.

open infix fun Regex.matchingReply(replier: suspend M.(MatchResult) -> Any?)

消息内容可由正则表达式匹配(Regex.matchEntire), 则执行 replier 并将其返回值回复给发信对象.

Link copied to clipboard
open fun newListeningFilter(filter: M.(String) -> Boolean): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
open fun newListeningFilter(filter: M.(String) -> Boolean): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
open fun newListeningFilter(filter: M.(String) -> Boolean): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
Link copied to clipboard
open infix fun MessageSelectionTimeoutChecker.quoteReply(message: String)
open infix fun MessageSelectionTimeoutChecker.quoteReply(message: Message)

open infix fun MessageSelectionTimeoutChecker.quoteReply(block: suspend () -> Any?)

在超时后引用回复原消息

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.quoteReply(toReply: String)
open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.quoteReply(toReply: Message)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时引用回复原消息

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.quoteReply(replier: suspend M.(String) -> Any?)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时执行 replier 并以其返回值回复原消息 返回值 Unit 将被忽略, Message 将被直接回复, 其他内容将会 Any.toString 后发送

open infix fun MessageSelectionTimeoutChecker.quoteReply(message: String)
open infix fun MessageSelectionTimeoutChecker.quoteReply(message: Message)

open infix fun MessageSelectionTimeoutChecker.quoteReply(block: suspend () -> Any?)

在超时后引用回复原消息

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.quoteReply(toReply: String)
open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.quoteReply(toReply: Message)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时引用回复原消息

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.quoteReply(replier: suspend M.(String) -> Any?)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时执行 replier 并以其返回值回复原消息 返回值 Unit 将被忽略, Message 将被直接回复, 其他内容将会 Any.toString 后发送

open infix fun MessageSelectionTimeoutChecker.quoteReply(message: String)
open infix fun MessageSelectionTimeoutChecker.quoteReply(message: Message)

open infix fun MessageSelectionTimeoutChecker.quoteReply(block: suspend () -> Any?)

在超时后引用回复原消息

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.quoteReply(toReply: String)
open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.quoteReply(toReply: Message)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时引用回复原消息

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.quoteReply(replier: suspend M.(String) -> Any?)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时执行 replier 并以其返回值回复原消息 返回值 Unit 将被忽略, Message 将被直接回复, 其他内容将会 Any.toString 后发送

Link copied to clipboard
open infix fun MessageSelectionTimeoutChecker.reply(message: String)
open infix fun MessageSelectionTimeoutChecker.reply(message: Message)

open infix fun MessageSelectionTimeoutChecker.reply(block: suspend () -> Any?)

在超时后回复原消息

open infix fun String.reply(reply: String)
open infix fun String.reply(reply: Message)

当发送的消息内容为 this 就回复 reply

open infix fun String.reply(replier: suspend M.(String) -> Any?)

当发送的消息内容为 this 就执行并回复 replier 的返回值

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.reply(toReply: String)
open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.reply(message: Message)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时回复原消息

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.reply(replier: suspend M.(String) -> Any?)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时执行 replier 并以其返回值回复. 返回值 Unit 将被忽略, Message 将被直接回复, 其他内容将会 Any.toString 后发送.

open infix fun MessageSelectionTimeoutChecker.reply(message: String)
open infix fun MessageSelectionTimeoutChecker.reply(message: Message)

open infix fun MessageSelectionTimeoutChecker.reply(block: suspend () -> Any?)

在超时后回复原消息

open infix fun String.reply(reply: String)

当发送的消息内容为 this 就回复 reply

open infix fun String.reply(replier: suspend M.(String) -> Any?)

当发送的消息内容为 this 就执行并回复 replier 的返回值

open infix fun String.reply(reply: Message)

当发送的消息内容为 this 就回复 reply

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.reply(toReply: String)
open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.reply(message: Message)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时回复原消息

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.reply(replier: suspend M.(String) -> Any?)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时执行 replier 并以其返回值回复. 返回值 Unit 将被忽略, Message 将被直接回复, 其他内容将会 Any.toString 后发送.

open infix fun MessageSelectionTimeoutChecker.reply(message: String)
open infix fun MessageSelectionTimeoutChecker.reply(message: Message)

open infix fun MessageSelectionTimeoutChecker.reply(block: suspend () -> Any?)

在超时后回复原消息

open infix fun String.reply(reply: String)

当发送的消息内容为 this 就回复 reply

open infix fun String.reply(replier: suspend M.(String) -> Any?)

当发送的消息内容为 this 就执行并回复 replier 的返回值

open infix fun String.reply(reply: Message)

当发送的消息内容为 this 就回复 reply

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.reply(toReply: String)
open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.reply(message: Message)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时回复原消息

open infix fun MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>.reply(replier: suspend M.(String) -> Any?)

启动监听器, 在 Bot 未被禁言且消息满足条件 this 时执行 replier 并以其返回值回复. 返回值 Unit 将被忽略, Message 将被直接回复, 其他内容将会 Any.toString 后发送.

Link copied to clipboard
fun sentBy(qq: Long): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentBy(friend: User): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentBy(qq: Long, onEvent: MessageListener<M, R>)

如果是这个人发的消息. 消息可以是好友消息也可以是群消息

fun sentBy(name: String): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是这个人发的消息. 消息目前只会是群消息

fun sentBy(qq: Long): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentBy(friend: User): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentBy(qq: Long, onEvent: MessageListener<M, R>)

如果是这个人发的消息. 消息可以是好友消息也可以是群消息

fun sentBy(name: String): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是这个人发的消息. 消息目前只会是群消息

fun sentBy(qq: Long): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentBy(friend: User): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentBy(qq: Long, onEvent: MessageListener<M, R>)

如果是这个人发的消息. 消息可以是好友消息也可以是群消息

fun sentBy(name: String): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是这个人发的消息. 消息目前只会是群消息

Link copied to clipboard

如果是管理员发的消息

如果是管理员发的消息

如果是管理员发的消息

Link copied to clipboard
fun sentByFriend(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentByFriend(onEvent: MessageListener<FriendMessageEvent, R>)

如果是好友发来的消息

fun sentByFriend(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentByFriend(onEvent: MessageListener<FriendMessageEvent, R>)

如果是好友发来的消息

fun sentByFriend(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentByFriend(onEvent: MessageListener<FriendMessageEvent, R>)

如果是好友发来的消息

Link copied to clipboard
fun sentByGroupTemp(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是群临时会话消息

fun sentByGroupTemp(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是群临时会话消息

fun sentByGroupTemp(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是群临时会话消息

Link copied to clipboard
fun sentByOperator(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是管理员或群主发的消息

fun sentByOperator(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是管理员或群主发的消息

fun sentByOperator(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是管理员或群主发的消息

Link copied to clipboard
fun sentByOwner(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是群主发的消息

fun sentByOwner(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是群主发的消息

fun sentByOwner(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是群主发的消息

Link copied to clipboard
fun sentByStranger(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentByStranger(onEvent: MessageListener<StrangerMessageEvent, R>)

如果是陌生人发来的消息

fun sentByStranger(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentByStranger(onEvent: MessageListener<StrangerMessageEvent, R>)

如果是陌生人发来的消息

fun sentByStranger(): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentByStranger(onEvent: MessageListener<StrangerMessageEvent, R>)

如果是陌生人发来的消息

Link copied to clipboard
fun sentFrom(groupId: Long): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentFrom(group: Group): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是来自这个群的消息

fun sentFrom(groupId: Long): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentFrom(group: Group): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是来自这个群的消息

fun sentFrom(groupId: Long): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>
fun sentFrom(group: Group): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果是来自这个群的消息

Link copied to clipboard
fun startsWith(prefix: String, trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果消息的前缀是 prefix

fun startsWith(    prefix: String,     removePrefix: Boolean = true,     trim: Boolean = true,     onEvent: suspend M.(String) -> R)

如果消息的前缀是 prefix

fun startsWith(prefix: String, trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果消息的前缀是 prefix

fun startsWith(    prefix: String,     removePrefix: Boolean = true,     trim: Boolean = true,     onEvent: suspend M.(String) -> R)

如果消息的前缀是 prefix

fun startsWith(prefix: String, trim: Boolean = true): MessageSubscribersBuilder.ListeningFilter<M, Unit, R, Any?>

如果消息的前缀是 prefix

fun startsWith(    prefix: String,     removePrefix: Boolean = true,     trim: Boolean = true,     onEvent: suspend M.(String) -> R)

如果消息的前缀是 prefix

Link copied to clipboard
fun timeout(timeoutMillis: Long): MessageSelectionTimeoutChecker

返回一个限制本次 select 的最长等待时间的 Deferred

fun timeout(timeoutMillis: Long, block: suspend () -> R)

限制本次 select 的最长等待时间, 当超时后执行 block 以完成 select

fun timeout(timeoutMillis: Long): MessageSelectionTimeoutChecker

返回一个限制本次 select 的最长等待时间的 Deferred

fun timeout(timeoutMillis: Long, block: suspend () -> R)

限制本次 select 的最长等待时间, 当超时后执行 block 以完成 select

fun timeout(timeoutMillis: Long): MessageSelectionTimeoutChecker

返回一个限制本次 select 的最长等待时间的 Deferred

fun timeout(timeoutMillis: Long, block: suspend () -> R)

限制本次 select 的最长等待时间, 当超时后执行 block 以完成 select

Link copied to clipboard
fun timeoutException(timeoutMillis: Long, exception: () -> Throwable)

限制本次 select 的最长等待时间, 当超时后抛出 TimeoutCancellationException

fun timeoutException(timeoutMillis: Long, exception: () -> Throwable)

限制本次 select 的最长等待时间, 当超时后抛出 TimeoutCancellationException

fun timeoutException(timeoutMillis: Long, exception: () -> Throwable)

限制本次 select 的最长等待时间, 当超时后抛出 TimeoutCancellationException

Properties

Link copied to clipboard
val subscriber: (M.(String) -> Boolean, MessageListener<M, Any?>) -> Unit

invoke 这个 lambda 时, 它将会把 消息事件的处理器 注册给事件, 并返回注册完成返回的监听器.

val subscriber: (M.(String) -> Boolean, MessageListener<M, Any?>) -> Unit

invoke 这个 lambda 时, 它将会把 消息事件的处理器 注册给事件, 并返回注册完成返回的监听器.

val subscriber: (M.(String) -> Boolean, MessageListener<M, Any?>) -> Unit

invoke 这个 lambda 时, 它将会把 消息事件的处理器 注册给事件, 并返回注册完成返回的监听器.

Inheritors

Link copied to clipboard