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

使用命令行

启动 Koishi

修改入口文件

koishi start 指令需要一个配置文件作为入口。这个配置文件允许 js,ts,json,yaml 等多种格式。默认情况下,配置文件名应当形如 koishi.[ext]koishi.config.[ext],但你其实也可以传入一个 file 参数来指定其他名称。它的完整语法为:

# 如果你不写这里的 file 参数,程序就会自动寻找 koishi.[ext] 和 koishi.config.[ext] 文件
koishi start [file] [options]

TIP

基于这个逻辑,你也可以将你的配置文件的后缀名改为 ts 等,但动态的配置文件格式将不再支持 @koishijs/plugin-market,这意味着你将无法使用插件市场。

使用环境变量

你可以通过插值语法在配置文件中使用环境变量。例如:

koishi.yml
plugins:
  adapter-discord:
    bots:
      - token: ${{ env.DISCORD_TOKEN }}

当项目启动时,会将环境变量中的值替换进去。

除了系统提供的环境变量外,Koishi 还支持 dotenvopen in new window。你可以在当前目录创建一个 .env 文件,并在里面填写你的环境变量。这个文件已经被包含在 .gitignore 中,你可以在其中填写隐私信息(例如账号密码)而不用担心被上传到远端。

自动重启

Koishi 的命令行工具支持自动重启。当运行 Koishi 的进程崩溃时,如果 Koishi 已经启动成功,则监视进程将自动重新启动一个新的进程。

开发模式

在模板项目下运行下面的指令可以启动开发模式:

命令行npmyarn

这其实相当于在 start 指令的基础上添加下面的参数:

-r esbuild-register
-r yml-register
--watch

这些参数为我们提供了额外的特性。

TypeScript 支持

Koishi 工作区原生地支持 TypeScript 开发。上面的两组 -r 参数允许我们在运行时直接使用工作区插件的 TypeScript 源代码。

如果你想使用其他语言进行开发,你也可以打开 package.json,修改 dev 指令对应的脚本,向其中添加自己所需的参数:

-r coffeescript/register        # 以 CoffeeScript 为例

模块热替换

如果你开发着一个巨大的 Koishi 项目,可能光是加载一遍全部插件就需要好几秒了。在这种时候,像前端框架一样支持模块热替换就成了一个很棒的主意。Koishi 也做到了!--watch 参数实现了插件级别的热替换。每当你修改你的本地文件时,Koishi 就会尝试重载你的插件,并在控制台提醒你。

这里的行为也可以在配置文件中进行定制:

koishi.yml
watch:
  # 要忽略的文件列表,支持 glob patterns
  ignore:
    - some-file