Koishi从0入门 02 编写插件
创建新插件
在上一次的教程中,我们讲了如何部署Koishi
我们回到我们的工作区,目录内容如下

在这里打开cmd/powershell,输入如下命令创建插件
1 | npm run setup 插件名字 |

然后回车
返回文件夹下,打开external->插件名字->src
这是你插件的代码目录,其中index.ts是你插件的main
注意:建议找一个没多少群的账号,因为前期我们还没写过滤群聊功能,这样会导致bot全局触发,由于我这里出了一点麻烦,所以就用沙盒测试了
1 | import { Context, Schema } from 'koishi' |
启用插件
打开Koishi控制台,选择插件管理

点右边哪个图标添加插件,添加我们刚刚创建的插件
然后启用插件

启用成功之后,下面会变成绿色的小图标
编写Hello World
1 | import { Context, Schema } from 'koishi' |
效果

消息格式详解
1 | import { Context, Schema } from 'koishi' |
以下是事件信息的解析
1 | { |
以下是一些写法
获取一些基本信息
1 | import { Context, Schema } from 'koishi' |
你可以根据上面那个示例事件进行取值,下面加上触发语句来尝试一下
示例 获取我的id
1 | import { Context, Schema } from 'koishi' |

发送多元素消息
现在我们学会获取基本信息后,那么一个机器人只能发送文字肯定不够的,如何发送图片,艾特,表情,等其他内容
我这里将一一进行讲解
从文档这里给出了发送的方式,我们可以使用koishi准备好的api
1 | // 第一个参数是元素名称 (必选) |
发送图片
1 | await session.send(h.image("https://koishi.chat/logo.png")) // 这里可以换成链接,本地路径 |
发送艾特
1 | await session.send(h.at(session.userId)) // 你也可以换成其他人的id |
测试文字+图片
1 | import { Context, Schema, h } from 'koishi' |

最后
学会了使用api发送消息后,下节课我们编写一个签到插件
