- 以发送消息的方式操作Bot所在环境的系统命令行
- 甚至可以通过此插件
rm整个服务器 - 限超级用户使用
nb-cli安装, 包管理器安装 二选一
使用 nb-cli 安装
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot-plugin-system-command
使用包管理器安装
在 nonebot2 项目的插件目录下, 打开命令行,
根据你使用的包管理器, 输入相应的安装命令
pip
pip install nonebot-plugin-system-command
pdm
pdm add nonebot-plugin-system-command
poetry
poetry add nonebot-plugin-system-command
conda
conda install nonebot-plugin-system-command
打开 bot项目下的 pyproject.toml 文件,
在其 plugins 里加入 nonebot_plugin_system_command
plugins = ["nonebot_plugin_system_command"]
-
可在 Bot项目的
.env*中自定义调用命令行的指令, 默认值为/sh和/cmd -
如果
.env*中COMMAND_START变量值为["/"]那么指令应该为//sh//cmd
SYS_CMD_SH="/sh"
SYS_CMD_CMD="/cmd"| 指令 | 权限 | 需要@ | 范围 | 特性 | 说明 |
|---|---|---|---|---|---|
| /sh | 主人 | 否 | 私聊 | 群聊 | 异步管道 | Windows环境无法正常使用 |
| /cmd | 主人 | 否 | 私聊 | 群聊 | 同步管道 | 通用 |
命令行语法与Bot运行环境相关, 与插件指令无关
bash运行即使用bash语法zsh运行即使用zsh语法powershell运行即使用powershell语法cmd运行即使用cmd语法
其他shell同理
- 当您使用本插件时, 我们默认您了解命令行的基本使用, 以及在
根环境运行命令的危险性; - 在使用本插件前请先确认没有其他插件与本插件的指令发生冲突, 如有, 请在Bot项目下的
.env*文件里自定义本插件的响应指令; - 如有因为此插件响应了不相干的消息, 导致设备遭到损坏, 将由使用者自己承担相关责任.
注: 此处的 根环境 是指以 root 或者 管理员(Administrator) 或者其他高权限运行的终端环境
/sh echo "hello world"
/cmd echo "hello world"
- 使用异步管道
- 命令行交互
Don't drink and root! 🍻

