NoneBot2 是一个可扩展的 Python 异步机器人框架,它会对机器人收到的事件进行解析和处理,并以插件化的形式,按优先级分发给事件所对应的事件响应器,来完成具体的功能。
除了起到解析事件的作用,NoneBot 还为插件提供了大量实用的预设操作和权限控制机制。对于命令处理,它更是提供了完善且易用的会话机制和内部调用机制,以分别适应命令的连续交互和插件内部功能复用等需求。
得益于 Python 的 asyncio 机制,NoneBot 处理事件的吞吐量有了很大的保障,再配合 WebSocket 通信方式(也是最建议的通信方式),NoneBot 的性能可以达到 HTTP 通信方式的两倍以上,相较于传统同步 I/O 的 HTTP 通信,更是有质的飞跃。
NoneBot2 的驱动框架 Driver
以及通信协议 Adapter
均可自定义,并且可以作为插件进行替换/添加!
目前 NoneBot2 内置的驱动框架:
目前 NoneBot2 官方维护的协议适配:
- OneBot(CQHTTP) 协议 (QQ 等)
- Mirai-API-HTTP 协议
- 钉钉
- Telegram 计划中
更多:商店
完整文档可以在 这里 查看。
懒得看文档?下面是快速安装指南:这是坏文明
-
(可选)使用你喜欢的 Python 环境管理工具创建新的虚拟环境。
-
使用
pip
(或其他) 安装 NoneBot 脚手架。pip install nb-cli
-
使用脚手架创建项目
nb create
此外,NoneBot2 还有丰富的官方以及第三方现成的插件供大家使用:
-
NoneBot-Plugin-Docs:离线文档至本地使用(别再说文档打不开了!)
nb plugin install nonebot_plugin_docs
或者尝试 文档镜像
-
其他插件请查看 商店
如果你在使用过程中发现任何问题,可以 提交 issue 或自行 fork 修改后提交 pull request。
如果你要提交 pull request,请确保你的代码风格和项目已有的代码保持一致,遵循 PEP 8,变量命名清晰,有适当的注释。
NoneBot
采用 MIT
协议开源,协议文件参考 LICENSE。
特别的,由于 mirai
使用 AGPLv3
协议并要求使用 mirai
的软件同样以 AGPLv3
协议开源,本项目 mirai
适配器部分(即 packages/nonebot-adapter-mirai
目录)以 AGPLv3
协议开源,协议文件参考 LICENSE。