mirai-core / net.mamoe.mirai.message / nextMessageOrNull

nextMessageOrNull

suspend inline fun <reified P : ContactMessage> P.nextMessageOrNull(timeoutMillis: Long = -1, crossinline filter: suspend P.(P) -> Boolean): MessageChain?

挂起当前协程, 等待下一条 MessagePacket.senderMessagePacket.subjectthis 相同且通过 筛选MessagePacket

filter 抛出了一个异常, 本函数会立即抛出这个异常.

Parameters

timeoutMillis - 超时. 单位为毫秒. -1 为不限制

filter - 过滤器. 返回非 null 则代表得到了需要的值. syncFromEvent 会返回这个值

Return
消息链. 超时时返回 null

See Also

syncFromEventOrNull

suspend fun <reified P : ContactMessage> P.nextMessageOrNull(timeoutMillis: Long = -1): MessageChain?

挂起当前协程, 等待下一条 MessagePacket.senderMessagePacket.subjectthis 相同的 MessagePacket

filter 抛出了一个异常, 本函数会立即抛出这个异常.

Parameters

timeoutMillis - 超时. 单位为毫秒. -1 为不限制

Return
消息链. 超时时返回 null

See Also

syncFromEventOrNull