功能陆续迁移到 CoralBot
基于CoralBot的插件开发库
| BotPlugin | CoralBot |
|---|---|
| v1.0.0 | v0.3.1 |
$ go get -u github.com/BoyChai/BotPlugin 创建示例文件并写入以下代码
$ touch example.go package main import ( "github.com/BoyChai/BotPlugin" "github.com/BoyChai/CoralBot" ) func main() { e := BotPlugin.GetEvent() h := BotPlugin.GetHandler() //设置插件信息 BotPlugin.SetInfo(CoralBot.PluginInfo{ Name: "demo", Summary: "测试插件demo", Version: "v0.0.1", Developer: "BoyChai", Email: "1972567225@qq.com", }) // 创建触发器,这里的触发器需要添加一个RunName参数 BotPlugin.NewTask(CoralBot.Task{ Condition: []CoralBot.Condition{ { Key: &e.Message, Value: "插件测试", }, }, RunName: "demo", }) // 将触发之后的命令添加到命令执行器中,这里的第一个值需要和上面的RunName值一样 BotPlugin.NewHandles("demo", func(event *CoralBot.Event) error { _, err := h.Reply(*e, CoralBot.Msg{Message: "测试成功"}) if err != nil { return err } return nil }) // 构建 BotPlugin.BuildPlugin() }CoralBot.Task.RunName要和BotPlugin.NewHandles的第一个参数一样。
执行命令
$ go build .\example.go 构建好的文件名称应该是example.exe,我们把它的后缀修改成coral,例如:"example.coral",文件名称是什么都可以后缀必须为coral。
在Coral的运行目录下创建一个"plugin"目录把改好名字的插件丢进去,并创建一个config.yaml。
config.yaml的内容为:
handler: - name: "all" host: "192.168.1.1:5700" agreement: "http" - name: "demo" host: "127.0.0.1:5700" agreement: "http"config.yaml格式为:
handler: - name: "" host: "" agreement: ""其中name要和插件名称一样(BotPlugin.SetInfo的name),host是cqhttp的地址,agreement为http。名字如果是all的话就代表全部的插件都可以使用这个配置,如果插件配置存在并且all的配置也存在那么优先使用插件名字的配置。