BotManager

Bot 的管理器。

生命周期

BotManager 持有一个会影响诞生自它的所有 Bot 的生命周期的 Job。 当 BotManager 被执行了 BotManager.cancel,除了影响 BotManager 自身的生命周期以外, 也会同样影响到所有由它产生的 Bot

BotManager 实现 AutoConfigurableBotPlugin 以允许其在 quantcat 相关模块中有更好的表现。

Author

ForteScarlet

See also

Inheritors

Inherited properties

Link copied to clipboard
abstract val isActive: Boolean

当前是否处于活跃、运行或尚未结束的状态。

Link copied to clipboard
abstract val isCompleted: Boolean

当前是否已经完成、已经结束。

Functions

Link copied to clipboard
abstract fun all(): Sequence<Bot>

得到所有的 Bot,以序列的形式。

open fun all(id: ID): Sequence<Bot>

得到所有 id 符合条件的 Bot,以序列的形式。

Link copied to clipboard
open fun allToList(): List<Bot>
open fun allToList(id: ID): List<Bot>

all 收集为 List 并返回。

Link copied to clipboard

得到所有的 Bot 并转化为 Streamable

得到所有 id 符合条件的 Bot 并转化为 Streamable

Link copied to clipboard
abstract fun cancel(cause: Throwable? = null)

关闭当前 BotManager. 会同时关闭由其管理的所有 Bot

Link copied to clipboard
open fun find(id: ID): Bot?

根据一个指定的 id 寻找匹配的bot。

Link copied to clipboard
abstract operator fun get(id: ID): Bot

根据一个指定的 id 获取匹配的bot。

Link copied to clipboard
abstract suspend fun join()

挂起直到被 cancel

Inherited functions

Link copied to clipboard
abstract fun configurable(configuration: SerializableBotConfiguration): Boolean

检测提供的 configuration 是否能够应用于 register 中。通常是一种类型检测。 如果 configurable 结果为 true,则使用此 configuration 执行 register 时不应出现 UnsupportedBotConfigurationException 异常。

Link copied to clipboard
abstract fun onCompletion(handle: OnCompletion)

当目标完成时执行注册的回调函数。

Link copied to clipboard
abstract fun register(configuration: SerializableBotConfiguration): Bot

使用一个 configuration 注册并得到 Bot

Link copied to clipboard

尝试使用 register 注册并得到一个 Bot。 如果 configurable 校验通过则通过 register 注册得到 Bot, 否则得到 null

inline fun <T> AutoConfigurableBotPlugin.tryRegister(configuration: SerializableBotConfiguration, block: (Bot) -> T): T?

尝试使用 register 注册并得到一个 Bot。 如果 configurable 校验通过则通过 register 注册得到 Bot, 并用于执行 block