2021-12-01 16:28:55 +08:00
|
|
|
|
---
|
|
|
|
|
options:
|
|
|
|
|
menu:
|
2021-12-02 03:17:10 +08:00
|
|
|
|
weight: 70
|
|
|
|
|
category: advanced
|
2021-12-01 16:28:55 +08:00
|
|
|
|
---
|
|
|
|
|
|
2020-11-23 13:46:36 +08:00
|
|
|
|
# 发布插件
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
|
|
|
|
## 前注
|
|
|
|
|
|
2022-01-14 22:05:56 +08:00
|
|
|
|
本章节仅包含插件发布流程指导,插件开发请查阅 **[创建插件](../tutorial/plugin/config-plugin.md)** 章节与 **[Plugin API 文档](../api/plugin/plugin.md)** 。
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
|
|
|
|
## 插件发布流程
|
|
|
|
|
|
|
|
|
|
### 发布到 PyPI
|
|
|
|
|
|
2021-10-03 11:00:17 +08:00
|
|
|
|
您可以选择任意自己喜欢的方式将您的插件发布到 **[PyPI](https://pypi.org/)** ,如使用 **[setuptools](https://pypi.org/project/setuptools/)** 或 **[poetry](https://pypi.org/project/poetry/)** 进行 PyPI 发布。
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
2021-10-03 11:07:22 +08:00
|
|
|
|
发布时,请您为自己的插件取一个清晰易懂的名字。通常而言,一款 NoneBot2 插件名称使用 `nonebot-plugin-` 作为前缀(如`nonebot-plugin-foo`),以 `nonebot_plugin_` 作为导入名的前缀(如`nonebot_plugin_foo`),这并非是强制规范, 而是为了防止与其他 PyPI 包产生冲突, 所以我们推荐您在没有特殊需求的情况下这样做。
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
2021-10-03 11:00:17 +08:00
|
|
|
|
发布后,请确保您的插件已能公开的从 PyPI 访问到,请检查您的插件在 PyPI 的地址:`https://pypi.org/project/<您的Nonebot2插件项目名>`
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
|
|
|
|
### 托管您的插件源代码
|
|
|
|
|
|
2021-10-03 11:00:17 +08:00
|
|
|
|
将插件源代码及相关构建文件(如`pyproject.toml`或`setup.py`等与 PyPI 包构建相关的文件)托管在公开代码仓。
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
|
|
|
|
请确保您的代码仓地址能够被正确的访问,检查您的插件在代码仓的地址,如 `https://github.com/<您的Github用户名>/<您的插件Github项目名>` 。
|
|
|
|
|
|
2021-10-03 11:00:17 +08:00
|
|
|
|
### 申请发布到 Nonebot2 插件商店
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
2022-01-06 11:33:50 +08:00
|
|
|
|
完成在 PyPI 的插件发布流程与源代码托管流程后,请您前往 **[NoneBot2 商店](https://v2.nonebot.dev/store.html)** 页面,切换到 **插件** 页签,点击 **发布插件** 按钮。
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
2021-10-03 01:40:38 +08:00
|
|
|
|
![插件发布界面](./images/plugin_store_publish.png)
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
2022-01-06 11:33:50 +08:00
|
|
|
|
如图所示,在弹出的插件信息提交表单内,填入您所要发布的相应插件信息:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
插件名称: 您的Nonebot2插件名称
|
|
|
|
|
插件介绍: 为您的插件提供的简短介绍信息
|
|
|
|
|
PyPI项目名: 您的插件所在的PyPI Project名,如 nonebot-plugin-xxxx
|
|
|
|
|
import包名: 您的插件通过Python导入时使用的包名,如 nonebot_plugin_xxxx
|
|
|
|
|
仓库/主页: 您的插件托管地址,如 https://github.com/<您的Github用户名>/nonebot-plugin-xxxx
|
2022-01-06 12:23:20 +08:00
|
|
|
|
标签: 一个或多个可选颜色的TAG,每填写一个点击添加标签,若要删除,点击标签即可;标签长度不超过10字符,标签个数不超过3个
|
|
|
|
|
特定标签内容Adapter:点击Type的Adapter,将创建一个 a: 开头的标签,填入内容以指定您插件使用的adapter
|
|
|
|
|
特定标签内容Topic:点击Type的Topic,将创建一个 t: 开头的标签,填入内容以指定您插件的主题
|
2022-01-06 11:33:50 +08:00
|
|
|
|
```
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
2021-10-03 01:40:38 +08:00
|
|
|
|
![插件信息填写](./images/plugin_store_publish_2.png)
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
2021-10-03 11:00:17 +08:00
|
|
|
|
完成填写后,请点击 **发布** 按钮,这将自动在 **[NoneBot2](https://github.com/nonebot/nonebot2)** 代码仓内创建发布您的插件的对应 Issue。
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
|
|
|
|
### 等待插件发布处理
|
|
|
|
|
|
2021-10-03 11:00:17 +08:00
|
|
|
|
您的插件发布 Issue 创建后,将会经过*Nonebot2 Publish Bot*的检查,以确保插件信息正确无误。
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
2022-01-08 17:34:38 +08:00
|
|
|
|
若您的插件发布 Issue 未通过检查,您可以 **直接修改** Issue 内容以更新发布请求。*Nonebot2 Publish Bot*在您修改 Issue 内容后将会自动重新执行检查。您无需关闭、重新提交发布申请。
|
2022-01-06 12:23:20 +08:00
|
|
|
|
|
2021-10-03 11:00:17 +08:00
|
|
|
|
之后,NoneBot2 的维护者们将会对插件进行进一步的检查,以确保用户能够正常安装并使用该插件。
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
2021-10-03 11:00:17 +08:00
|
|
|
|
完成这些步骤后,您的插件将会被合并到 **[NoneBot2 商店](https://v2.nonebot.dev/store.html)** ,而您也将成为 **[NoneBot2 贡献者](https://github.com/nonebot/nonebot2/graphs/contributors)** 的一员。
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
|
|
|
|
## 完成
|
|
|
|
|
|
2021-10-03 11:00:17 +08:00
|
|
|
|
恭喜您,经过上述的发布流程,您的插件已经成功发布到 Nonebot2 商店了。
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
2021-10-03 11:00:17 +08:00
|
|
|
|
此时,您可以在 **[NoneBot2 商店](https://v2.nonebot.dev/store.html)** 的插件页签查找到您的插件。同时,欢迎您成为 **[NoneBot2 贡献者](https://github.com/nonebot/nonebot2/graphs/contributors)** !
|
2021-09-28 23:09:34 +08:00
|
|
|
|
|
|
|
|
|
**Congratulations!**
|