此文档已弃用。请访问我们的最新文档:https://koishi.chat

生命周期

目前我们了解的事件还仅限于通用会话事件。然而 Koishi 还有不少的内部事件,这些事件会在不同的阶段被触发。你可以通过监听它们来实现各种各样的功能。这里只介绍最核心的几个事件。要了解更多事件,可以参考 事件列表

ready 事件

ready 事件在应用启动时触发。如果一个插件在加载时,应用已经处于启动状态,则会立即触发。在下面的场景建议将逻辑放入 ready 事件:

  • 含有异步操作 (比如文件操作,网络请求等)
  • 希望等待其他插件加载完成后才执行的操作

dispose 事件

应用被关闭或插件被卸载时触发。它最主要的功能是在卸载时清除插件的 副作用。Koishi 的插件系统支持热重载,因此一个插件可能在运行时被多次加载和卸载。如果处理不当,可能会导致内存泄漏。请在开发功能复杂的插件时注意这一点。

事实上,我们熟悉的许多操作都会自动注册相应的 dispose 回调函数,包括事件、中间件和指令等等。

fork 事件