内置组件
- 标有 session 的组件只能在会话环境下使用 (常见的会话环境包括中间件和指令的内部)
- 标有 会话+广播 的组件只能在会话环境或
ctx.broadcast()
中使用
核心组件
调用指令 (execute) session
按照子元素执行指令,并使用指令的输出替换此元素。
html
foo<execute>echo 123</execute>bar
Koishi
foo123bar
等待输入 (prompt) session
输出子元素并等待用户输入,并使用输入内容替换此元素。
html
你输入的内容为:<prompt>请输入一段文本。</prompt>
Koishi
请输入一段文本。
A
Alice
你好!
Koishi
你输入的内容为:你好!
国际化 (i18n) 会话+广播
- path: 本地化路径
渲染本地化文件中对应的路径替换此元素。
html
<i18n path="foo.bar"/>
yaml
foo:
bar: Hello, world!
传入 path
为 foo.bar
时:
Koishi
Hello, world!
时间 (i18n:time) 会话+广播
- value: 时间长度(毫秒)
根据本地语言渲染时间长度。
html
剩余时间:<i18n:time value={value}/>
传入 value
为 114514
时:
Koishi
剩余时间:1 分钟 55 秒
随机选取 (random) 实验性
选择随机的子元素。
html
此次抛硬币的结果是<random>
<template>正面</template>
<template>反面</template>
</random>
Koishi
此次抛硬币的结果是反面
复数 (plural) 实验性
- count: 用于判断的数值
根据 count
数值决定选择子元素。
html
You have <plural count={count}>
<template>no apples</template>
<template>one apple</template>
<template>{count} apples</template>
</plural>.
传入 count
为 2 时:
Koishi
You have 2 apples.