- 以发送消息的方式操作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! 🍻