JobBasedBotManager

一个基于 Job 并提供部分基础能力实现的 BotManager 抽象。

Author

ForteScarlet

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
open override val isActive: Boolean

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

Link copied to clipboard
open override val isCompleted: Boolean

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

Link copied to clipboard
protected abstract val job: Job

Functions

Link copied to clipboard
open override fun cancel(cause: Throwable?)

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

Link copied to clipboard
open suspend override fun join()

挂起直到被 cancel

Link copied to clipboard
open override fun onCompletion(handle: OnCompletion)

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

Inherited 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 configurable(configuration: SerializableBotConfiguration): Boolean

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

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 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