mirai-core / net.mamoe.mirai.event / kotlinx.coroutines.CoroutineScope / subscribeOnce

subscribeOnce

inline fun <reified E : Event> CoroutineScope.subscribeOnce(coroutineContext: CoroutineContext = EmptyCoroutineContext, noinline listener: suspend E.(E) -> Unit): Listener<E>

在指定的 CoroutineScope 下订阅所有 E 及其子类事件. 仅在第一次 事件广播 时, listener 会被执行.

可在任意时候通过 Listener.complete 来主动停止监听. Bot 被关闭后事件监听会被 取消.

Parameters

coroutineContext - 给事件监听协程的额外的 CoroutineContext

See Also

subscribe

@SinceMirai("0.38.0") fun <E : Event> CoroutineScope.subscribeOnce(eventClass: KClass<E>, coroutineContext: CoroutineContext = EmptyCoroutineContext, listener: suspend E.(E) -> Unit): Listener<E>

See Also

CoroutineScope.subscribeOnce