终端命令
这里的终端并非指传统的终端命令行。而是你和机器人文本信息的命令交互。
本质是将终端命令从控制台移到了 QQ。
基于 commander.js 实现,因此你也可以遵循 commander 文档来自定义它。
el-bot@version >= 0.5.0
el <command> [options]
你可以直接向机器人发送命令来调用 (终端)代表仅在终端可用
聊天记录
Options
聊天记录
--version
,-v
: 显示版本号--help
,-h
: 显示帮助信息--about
,-a
: 关于
Commands
聊天记录
echo
<message
>: 回声plugins
: 显示当前加载的插件列表(包括版本及描述)-l <type>
: 列出对应类型的插件列表,如el plugins -l official
: 列出已加载的官方插件
restart
: 重启
自定义终端
一个简单的示例
更多属性/参数请参见 commander.js 文档
TIP
本质上 el-bot 基于 commander 修改了其原型链,使得原本在终端输出的内容,直接通过机器人返回。并添加了一些默认的指令。
module.exports = (ctx) => {
const { cli } = ctx;
cli
.command("test")
.description("一个测试指令")
.option("-l, --list")
.action((options) => {
if (options.list) {
ctx.reply("列表?");
} else {
ctx.reply("没有输入选项");
}
});
};
聊天记录
自定义任务
开发中...
你可以预定义一些脚本,让其可以通过机器人指令执行。
这些脚本,只有你设置了
master
和admin
中的 QQ 有权限执行。见配置讲解。
譬如我想要通过机器人指令重启服务器上的 Minecraft 服务器:
聊天记录
name
: 指令名desc
: 简要描述do
: 指令文本数组
默认上一条指令执行完,才会执行下一条指令。
cli:
jobs:
- name: stop:mc
desc: 停止 MC 服务器
do:
- pkill -P `cat mc.pid`
- rm mc.pid
- name: start:mc
desc: 启动 MC 服务器
do:
- cd /opt/mc && nohup java -Xms1024M -Xmx2048M -jar server.jar nogui & echo $! > mc.pid
- name: restart:mc
desc: 重启 MC 服务器
do:
- el run stop:mc
- el run start:mc