CLI 界面

安装 melobot 后可使用 mb 命令。除创建项目模板的 mb init 外,其余命令用于查看版本、生成插件导出接口,以及以支持重启或自动重载的方式运行 bot。

依赖

mb dev 依赖文件监测功能。若命令提示缺少依赖,请安装 CLI 可选依赖:pip install 'melobot[cli]'

查看帮助与版本

mb --help
mb --version
# 或
mb -v

--help 显示全部可用命令及参数;--version 同时显示 mb 程序自身和当前安装的 melobot 版本。这通常是提交问题报告时最先需要的信息。

初始化插件接口:mb pinit

mb pinit <插件目录> [<插件目录> ...]
mb pinit -d 2 ./plugins/weather

mb pinit 读取插件的 __plugin__.py,为插件生成 __init__.py__init__.pyi。生成的模块暴露插件版本、共享对象、导出函数及可选的初始化参数类型,使其他插件可以像普通 Python 导入一样访问它们。

-d / --depth 指定向上引用深度,必须与加载该插件时的 load_depth 保持一致。命令会覆盖已有的生成文件,因此不要手动编辑 __init__.py__init__.pyi。插件接口生成、跨插件调用及初始化参数的完整说明见插件系统与进阶用法

可重启运行:mb run

mb run bot.py
# .py 后缀可省略
mb run bot

mb run 会以子进程运行入口脚本,并转发其标准输入、输出和错误输出。当 bot 调用 restart() 时,子进程以特定退出码结束,mb run 随即重新启动它;正常停止则结束命令。

重启能力仅在入口脚本通过 mb run 启动且进程中只运行一个 bot 时有效。若只是希望普通启动,直接执行 python bot.py 仍然完全可行,但 Bot.restart() 不可用。

提示

mb run 不监测文件改动。需要在修改源码后自动重启时,应使用下一节的 mb dev

开发模式:mb dev

# 默认递归监测当前目录
mb dev bot.py

# 只监测指定目录或文件
mb dev bot.py --watch src plugins

mb dev 同样以子进程运行入口脚本,并支持 Bot.restart();此外,它会递归监测 --watch 提供的路径。检测到创建、修改、移动或删除后,会停止当前子进程并重新启动。--watch 未提供参数时默认监测当前目录 .

开发模式适合本地迭代插件和处理流。生产环境通常使用进程管理器、容器编排或发布系统完成重启,不建议依赖文件监测器。

命令速查

命令

用途

mb --help

查看命令帮助

mb --version / mb -v

查看 CLI 与 melobot 版本

mb pinit [-d 深度] <插件目录>...

生成插件入口与类型接口

mb run <入口文件>

运行 bot,支持程序主动重启

mb dev <入口文件> [-w 路径...]

开发模式运行,支持主动重启和文件变动自动重载

总结

mb pinit 解决插件接口生成,mb run 为程序主动重启提供运行环境,mb dev 在此基础上增加文件监测。其余时候使用 mb --help 确认参数,使用 mb --version 记录运行环境即可。

下一篇将介绍:多进程支持