💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # 简介 脚本插件是用来解析脚本语言的`Script`插件,它是rboot脚本的一个扩展。通过`yaml`配置文件来执行系统命令或脚本。 > 因为脚本插件是建立在`Script`基础之上的,每个插件都会被注册到`Script`之中,所以确保脚本之间名称不要重叠,否则可能先注册的脚本会被后注册的脚本替换! # 编写脚本插件 ## 配置 - `PLUGIN_DIR`:脚本插件配置文件存放的文件夹,若不配置默认为`plugins` ## 快速开始 我们可以通过创建一个`yaml`文件来创建一个脚本插件,通过文件中的配置选项来实现对脚本插件的配置。比如我们创建一个 `hello.yml` 文件,它的内容如下: ```yaml name: hello version: 0.1.0 ruleset: hello: "^hello" usage: hi: echo hello world and 你好 description: 脚本插件示例 command: - cmd: - echo hi - echo hello world - dir: plugins cmd: - echo 你好 ``` 这个插件使用的是系统命令 `echo`。它的意思是:当我们出入“hello”后,脚本会返回 `hi`,`hello world` 和 `你好` 三条信息。 配置中各个字段的含义: 配置 | 必须 | 意义 - | :-: | :-: name| 是 | 插件名称 ruleset|是|规则集合 version|否|插件版本 usage|否|插件用法 description|否|插件简介 command|是|插件命令集 -|-|- dir|否|命令执行文件夹 cmd|是|插件命令 > `command`可配置多个命令集,执行顺序为从上到下依次执行 > `cmd`可配置多条命令,执行顺序为从上到下依次执行 脚本插件支持`系统命令`和`脚本语言`。系统命令模式如上面的`hello.yml`,只需在文件中填写文件夹和系统命令,当你发出命令后,机器人就会从上到下依次执行。 脚本语言是建立在系统命令模式之上的执行方式,我们可以使用系统命令调用语言脚本,从而执行比较复杂的脚本。比如我们使用python输出“hello robot”。 我们的python脚本如下: ```python #!/usr/bin/env python print("Hello, robot! i am a python script") ``` 我们的配置文件如下: ```yaml name: pyscript version: 0.1.0 ruleset: py: "^hello python" usage: py: execute python script description: python插件示例 command: dir: script cmd: - ./hello.py ``` 当我们输入 `hello python` 时,机器人会调用 `hello.py` 脚本,脚本输出"Hello, robot! i am a python script"并通过机器人展示给我们。 > 在不同操作系统下请确认 `目录分隔符` 是否符合当前系统设置。 > `windows` 下请使用 `\` > `unix` 下请使用 `/`