项目脚本配置

在 Bot 实际维护的过程中,常常会出现需要通过命令行对项目进行管理的情况,NoneBot CLI 设计了命令拓展来解决这一问题。

通过命令拓展,你可以创建一个 nb <script> 命令执行脚本。

注册脚本

命令拓展使用 Python 的 entry_points 机制注册脚本。

例如 setuptools / pdm 等 PEP621 格式:

pyproject.toml
[project.entry-points.nb_scripts]
foo = "awesome_bot.module:function"

Poetry 格式:

pyproject.toml
[tool.poetry.plugins.nb_scripts]
foo = "awesome_bot.module:function"

脚本函数可以通过 sys.argv 获取用户提供的额外命令行参数:

使用脚本

注册后,命令行即可直接调用:

nb foo

或者使用交互式命令行:

$ nb
Welcome to NoneBot CLI!
[?] What do you want to do?
> Run script foo