Application

一个 simbot application. Application 可以代表为一个或一组组件、插件在一起运行的单位。

生命周期

Application 的生命周期(coroutineContext 中的 Job)不会直接关联下述其他 Plugin, 但是当任务被终止 cancel 时,Application 会尝试关闭其拥有的全部 CloseablePlugin。这个过程是 O(n) 的。

Author

ForteScarlet

Properties

Link copied to clipboard
abstract val botManagers: BotManagers

当前 Application 中注册地所有 BotManager 集。 botManagers 中的内容是 plugins 的子集。

Link copied to clipboard
abstract val components: Components

当前 Application 中注册的所有组件集。

Link copied to clipboard

构建 Application 提供并得到的最终配置信息。

Link copied to clipboard
abstract override val coroutineContext: CoroutineContext

Application 作为一个协程作用域的上下文信息。 必然包含一个描述生命周期的任务 Job

Link copied to clipboard

当前 Application 持有的事件调度器。

Link copied to clipboard
abstract override val isActive: Boolean

是否处于活跃状态。

Link copied to clipboard
abstract val isClosed: Boolean

当前 Application 是否已经通过调用 close 而关闭了。 这是一个原子属性,调用 close 后的瞬间被关闭,但这不代表当前 Application 已经 彻底完成

Link copied to clipboard
abstract override val isCompleted: Boolean

是否已经彻底完成。

Link copied to clipboard
abstract val plugins: Plugins

当前 Application 中注册的所有插件集。

Functions

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

终止当前 Application

Link copied to clipboard
abstract fun close()

申请关闭当前 Application

Link copied to clipboard
abstract suspend fun join()

挂起 Application 直到最终 彻底完成

Inherited functions

Link copied to clipboard

block 中操作 EventListenerRegistrar 来注册事件处理器。 是通过 Application 注册事件处理器的DSL风格简化API。

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

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